Asp.net mvc IIS如何识别该请求是针对MVC控制器或webforms页面的?

Asp.net mvc IIS如何识别该请求是针对MVC控制器或webforms页面的?,asp.net-mvc,iis,webforms,Asp.net Mvc,Iis,Webforms,当应用程序池接收到请求时,它只是将请求传递给工作进程(w3wp.exe)。工作进程“w3wp.exe”查找请求的URL以加载正确的ISAPI扩展。ISAPI扩展是IIS处理不同资源请求的方式。安装ASP.NET后,它将安装自己的ISAPI扩展(aspnet_ISAPI.dll),并将映射添加到IIS中 如果这是真的,我的问题是它如何识别要加载的扩展 为了那个请求??MVC/Web表单 IIS何时何地知道请求是针对MVC或WebForms应用程序的? 框架如何决定哪些模块应该处理请求,并决定在MV

当应用程序池接收到请求时,它只是将请求传递给工作进程(w3wp.exe)。工作进程“w3wp.exe”查找请求的URL以加载正确的ISAPI扩展。ISAPI扩展是IIS处理不同资源请求的方式。安装ASP.NET后,它将安装自己的ISAPI扩展(aspnet_ISAPI.dll),并将映射添加到IIS中

如果这是真的,我的问题是它如何识别要加载的扩展 为了那个请求??MVC/Web表单

IIS何时何地知道请求是针对MVC或WebForms应用程序的? 框架如何决定哪些模块应该处理请求,并决定在MVC中呈现页面内容或视图

那么IIS是不是知道这个请求是针对MVC还是WebForms应用程序的呢

它们都是ASP.NET应用程序,因此不需要识别它们。
aspnet\u isapi.dll
完全能够为这两种类型的应用程序(实际上是一种称为ASP.NET的单一类型)提供服务

ASP.NET MVC只是添加到ASP.NET管道中的自定义处理程序

那么IIS是不是知道这个请求是针对MVC还是WebForms应用程序的呢

它们都是ASP.NET应用程序,因此不需要识别它们。
aspnet\u isapi.dll
完全能够为这两种类型的应用程序(实际上是一种称为ASP.NET的单一类型)提供服务


ASP.NET MVC只是添加到ASP.NET管道中的自定义处理程序。

这一切都是关于标准IHttpModule和IHttpHandler基础结构的。请参阅此处和此处的完整说明,所有内容都与标准IHttpModule和IHttpHandler基础架构有关。请参见此处和此处的完整说明