This MSDN article states that:
To guarantee optimal performance,
aspnet_isapi uses asynchronous named
pipes to forward requests to the
worker process and to get responses.
On the other hand, the worker process
exploits synchronous pipes when it
needs to query for information about
the IIS environment (that is, server
variables).
- Does the worker process always uses “synchronous” named pipes? (Response to aspnet_isapi.dll would be asynchronous too, right?)
- Can the worker process talk directly to IIS or does it have to send a synchronous request to aspnet_isapi.dll to inquire about IIS environment etc.?
Later in the same article, things get a little clearer, :p :
The logic behind the processing of each ASP.NET request can be summarized in the following steps.
So, I think the answer to my first question would be No and to the second point 3 above implies that the worker process doesn’t directly accesses IIS but goes through aspnet_isapi.dll.