Cal*_*aNN 0 iis-7 httpmodule integrated-pipeline-mode asp.net-mvc-3
在IIS7集成模式下,特别是在ASP.NET MVC和.NET4中,所有模块都针对所有请求运行.runAllManagedModulesForAllRequests = "真".使runAllManagedModulesForAllRequests ="false"给我带来了很多问题,直到我感到困惑为止.
所以为了简单起见,让我的模块接受包括静态文件在内的所有请求,但是在像BeginRequest这样的模块中,我只想处理它不是静态文件.如何过滤或检查模块中的这种情况?
这并没有完全回答你的问题,但由于没有其他人回答,我有可能成为解决方案的一部分.
如果将模块拆分为两个,一个用于托管处理程序请求,另一个用于其他所有请求,则在web.config中添加"托管处理程序请求"模块,可以添加属性preCondition ="managedHandler".所以它看起来像这样:
<system.webServer>
<modules>
<add name="DynamicRequestModule" type="..." preCondition="managedHandler" />
<add name="StaticRequestModule" type="..." />
Run Code Online (Sandbox Code Playgroud)
给定此配置,"DynamicRequestModule"模块将仅在请求针对具有托管处理程序的资源时执行.
| 归档时间: |
|
| 查看次数: |
1518 次 |
| 最近记录: |