我对在IIS 7.0中如何处理请求的理解如下:
当请求进入IIS时,URLRoutingModule
对其进行处理。
如果ÙRLRoutingModule
找到一个无扩展名的URL(位于RouteTable
内),则它将映射到相应的控制器。
但是,我找不到以下问题的答案。
以前,我研究过aspnet_isapi.dll
处理所有ASP.NET
相关的活动。那么,在HTTP管道中,哪个首先执行?
[URLRoutingModule or ASPNET_ISAPI.DLL
]ASPNET_ISAPI.DLL
是HTTP Handler
还是ISAPI Extension
?
(我读过http handler
可以通过从IHttpHandler
派生而实现,而要编写isapi extension
则需要C / C ++中的非托管代码)
最佳答案
在HTTP管道中,哪个首先执行? [URLRoutingModule或ASPNET_ISAPI.DLL]ASPNET_ISAPI.DLL
首先执行。它将控制权转移到托管的ASP.NET运行时,并在必要时调用URLRoutingModule
ASPNET_ISAPI.DLL是HTTP处理程序还是ISAPI扩展?
它是ISAPI扩展:
从MSDN:
ASP.NET功能包含在名为Aspnet_isapi.dll的ISAPI dll中。
HTTP处理程序是由ASP.NET运行时调用的托管处理程序。
从HTTP Handlers and HTTP Modules Overview:
ASP.NET HTTP处理程序是响应对ASP.NET Web应用程序的请求而运行的过程(通常称为“端点”)。
关于c# - 谁先在ASP.Net MVC管道中执行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33155275/