在IIS 6.0的工作进程w3wp.exe中托pipe的ASP.NET ISAPI扩展aspnet_isapi.dll的用途是什么?
在IIS 5.0中,我明白这个ISAPI扩展负责处理所有的asp.net请求(aspx等)。 它被加载到IIS进程中,负责使用命名pipe道将请求发送到ASP.NET工作进程aspnet_wp.exe 。
使用IIS 6.0时,请求将直接从内核到达w3wp.exe,并且稍后在此辅助进程中加载ISAPI扩展。
在MSDN文章(IIS 6.0) 这里是说Aspnet_isapi.dll – 队列处理的托pipe代码ASP.NET引擎的请求,并执行健康监测。
这使我困惑。
这些请求是否已经在内核级别排队?
是不是aspnet_isapi.dll unmanged代码? 即一个普通的win32 dll? 而不是w3wp托pipe代码?
我完全迷失了: – |
任何帮助,将不胜感激 !
根据这篇文章 ,如果使用IIS6进程模型,aspnet_isapi.dll不用于排队请求,但它负责初始化CLR。
当请求到达时,IIS检查资源types并调用ASP.NET ISAPI扩展。 如果启用默认stream程模型,则aspnet_isapi将请求排队,并将其分配给工作进程。 任何请求数据都是通过asynchronousI / O发送的。 如果启用了IIS 6进程模型,则请求将自动排队到处理应用程序所属的IIS应用程序池的工作进程(w3wp.exe)。 IIS 6工作进程不知道有关ASP.NET和托pipe代码的任何信息。 它仅限于处理* .aspx扩展名并加载aspnet_isapi模块。 当ASP.NET ISAPI在IIS 6进程模型下工作时,它的行为不同,只是在w3wp.exe工作进程的上下文中加载CLR。