我对 IIS 处理的 ASP.net MVC 请求感到困惑。正如每个人所说,它建立在 ASP.net 引擎之上。因此,只有Url 路由模块和MvcRouteHandler 有所不同,它们正确地处理了请求。我明白这一点。
但我的问题是 IIS 如何理解它是 MVC 请求。url 中没有像 .aspx 这样的扩展名。那么它如何映射到正确的ISAPI DLL。
感谢您帮助消除我的困惑。
我对 IIS 处理的 ASP.net MVC 请求感到困惑。正如每个人所说,它建立在 ASP.net 引擎之上。因此,只有Url 路由模块和MvcRouteHandler 有所不同,它们正确地处理了请求。我明白这一点。
但我的问题是 IIS 如何理解它是 MVC 请求。url 中没有像 .aspx 这样的扩展名。那么它如何映射到正确的ISAPI DLL。
感谢您帮助消除我的困惑。
可以在 IIS 中的任何级别定义这些规则。大多数 MVC 应用程序在 web.config 文件中的应用程序级别定义处理程序:
<system.webServer>
<handlers>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit".../>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit".../>
<add name="ExtensionlessUrlHandler-Integrated-4.0".../>
</handlers>
</system.webServer>