区分httpmodule中的静态文件和asp.net页面 - IIS7
在IIS7集成模式下,特别是在ASP.NET MVC和.NET4中,所有模块都针对所有请求运行。 runAllManagedModulesForAllRequests =“true”。使 runAllManagedModulesForAllRequests="false" 给我带来头疼和太多的问题,直到我感到困惑。
因此,为了简单起见,只需让我的模块接受包括静态文件在内的所有请求,但在像 BeginRequest 这样的模块中,我只想在它不是静态文件时处理。如何在模块中过滤或检查此条件?
In IIS7 integrated mode, especially in ASP.NET MVC and .NET4, all modules run for all request. runAllManagedModulesForAllRequests="true". making runAllManagedModulesForAllRequests="false" give me headace and too many issue about this until I get confused.
So to make it simple, just let my module accept all request including static file but in the module like BeginRequest, I want to handle only if it is not static file. How to filter or check this condition in module?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这并不能完全回答你的问题,但由于没有其他人回答过,我有可能可能作为解决方案的一部分。
如果您将模块分成两个,一个用于托管处理程序请求,一个用于其他所有内容,那么在您添加“托管处理程序请求”模块的 web.config 中,您可以添加属性 preCondition="managedHandler"。所以它看起来像这样:
给定此配置,“DynamicRequestModule”模块仅当请求针对具有托管处理程序的资源时才会执行。
This doesn't exactly answer your question, but since nobody else has answered, I have what could possibly be part of the solution.
If you split your module into two, one for managed handler requests, and one for everything else, then in your web.config, where you add your "managed handler request" module, you can add the attribute preCondition="managedHandler". So it would look like this:
Given this configuration, the "DynamicRequestModule" module will execute only when the request is for a resource that has a managed handler.