Start from here
First an import of the COM interface.
<internalonly/>
<devdoc>
</devdoc>
[ComImport, Guid ("7297744b-e188-40bf-b7e9-56698d25cf44"), System.Runtime.InteropServices.InterfaceTypeAttribute ( System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
Public interface Istateruntime {
Two x Processreqest overloads.
}
2,
public sealed class Stateruntime:istateruntime {
Implement the request in the interface.
......
/*
* Process one ISAPI request
*
* @param ECB ECB
*/
<devdoc>
<para>[to be supplied.] </para>
</devdoc>
public void ProcessRequest (
INTPTR Tracker,
int verb,
String URI,
INT exclusive,
int Extraflags,
int timeout,
int lockcookieexists,
int LockCookie,
int ContentLength,
INTPTR Content
) {
Statehttpworkerrequest WR;
WR = new Statehttpworkerrequest (
Tracker, (unsafenativemethods.stateprotocolverb) verb, URI,
(unsafenativemethods.stateprotocolexclusive) exclusive, extraflags, timeout,
Lockcookieexists, LockCookie, contentlength, content);
Httpruntime.processrequest (WR);
}
.....
}
HttpRuntime
private void ProcessRequestInternal (HttpWorkerRequest wr)
{
......
}
The next one is the various treatments.
See the ASP. NET processing process from code