我对在IIS 7.0中如何处理请求的理解如下:


当请求进入IIS时,URLRoutingModule对其进行处理。
如果ÙRLRoutingModule找到一个无扩展名的URL(位于RouteTable内),则它将映射到相应的控制器。


但是,我找不到以下问题的答案。


以前,我研究过aspnet_isapi.dll处理所有ASP.NET相关的活动。那么,在HTTP管道中,哪个首先执行?
[URLRoutingModule or ASPNET_ISAPI.DLL]
ASPNET_ISAPI.DLLHTTP 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/

10-13 07:50
查看更多