我正在寻找一种更精确的解决方案来处理ASP.NET生命周期中对静态内容的请求,而不将runAllManagedModulesForAllRequests
设置为true。
据我所知,runAllManagedModulesForAllRequests = "true"
的效果是每个模块的前提条件属性将设置为""
。
runAllManagedModulesForAllRequests
设置为true
。必须重置哪些模块(precondition = ""
)才能触发global.asax.cs事件(例如Application_BeginRequest
)以获取静态内容的请求?
是否可以将此请求处理限制为对单个子文件夹的请求(例如,可能通过在此子文件夹中放置一个经过调整的web.config,对主web.config进行调整,...)
任何建议将不胜感激。感谢。
答案 0 :(得分:0)
您是否考虑过为global.asax的正确事件注册自定义HttpModule,然后仅使用主location
本身中的web.config
属性为子目录启用HttpModule?这只是一个可能的解决方案的想法 - 我没有想过它..
<location path="subDirectoryPath">
<system.web>
<httpmodules>
<add type="MyCustomModule.Name" name="MyCustomModule" />
</httpmodules>
</system.web>
</location>
编辑:
您可能必须覆盖web.config,并引入其中的所有httpModule部分,然后使用正确的前提条件将自定义模块插入到正确的位置。
这是为了避免将runAllManagedModulesForAllRequests
设置为true