什么是托管模块?

时间:2012-12-05 22:05:15

标签: .net asp.net-mvc iis

我最近一直在推动一些ASP.NET MVC 3和4站点到IIS 7并且遇到了重大问题。通常,修复方法是将以下内容包含在Web.Config

<system.webServer>
   <httpErrors errorMode="Detailed" />
   <asp scriptErrorSentToBrowser="true"/>
   <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

我的问题是,为什么?什么是托管模块?它们如何与ASP.NET MVC / C#一起使用?

编辑: 经过进一步测试后,我发现Server 2008 R2和IIS 7.5上不存在此问题,但问题仍然存在,什么是托管模块?如果我在代码中使用了该模块,我怎么知道呢?

1 个答案:

答案 0 :(得分:5)

模块是一个ASP.Net组件,它插入请求管道的某个点;有许多“官方”模块,虽然you can also code your own

IIS listing of modules

如您所见,模块执行各种功能,包括输出缓存,各种授权和身份验证等。


It's best not to run all managed modules;相反,如果可以的话,找出给定应用程序或平台需要的模块。对于ASP.Net MVC,这可能是路由模块:System.Web.Routing.UrlRoutingModule

相关问题