我听说在扩展过滤后,请求从浏览器(客户端)发送到IIS
(aspnet_isapi.dll)在ISAPI DLL和named pipe connections
之间建立了几个worker process(w3wp.exe)
。
这些管道的名称是什么?那些管道会像我们与WCF一样充当沟通渠道吗?
答案 0 :(得分:1)
你会发现here a superb explanation by Rick Strahl of how ASP.NET works,是的,命名管道在IIS5中用于inetinfo进程中的ISAPI DLL和工作进程之间的通信,但是在IIS6中,这不再是必需的,因为最低级别的HTTP堆栈已传输到内核驱动程序HTTP.SYS,后者将请求直接传递给工作进程。
命名管道是由操作系统内核管理的对象,其中有一个特定的Win32 API。名为管道绑定的WCF建立在这些之上,但在原始管道传输之上涉及更多层次。即使在使用命名管道用于ASP.NET的IIS5中,这些也不会像WCF使用它们那样使用,因此没有理由将它们视为连接或类似的任何方式。 System.IO.Pipes命名空间中的类型是一个更接近的比较,是OS管道API上更薄的包装器。
答案 1 :(得分:0)
这只是一个二进制管道,是Windows中进程之间通信的标准方法之一(其他是共享内存和com + iirc)。显然,您可以拥有多个工作进程,因此我不确定管道是否只有一个名称。我非常怀疑这是使用任何类型的.net序列化数据 - 不确定这一点。