5

我知道这里已经问过这个问题,但是答案(使用处理程序代替)并不能解决问题,因为我使用的是不实现 IHttpHandler 的第三方组件。

那么,再一次,有没有办法在某个请求上加载/卸载 HttpModule?

编辑:我忘了提到我们正在使用 .NET 2.0。我很抱歉忘记了它。

4

3 回答 3

0

我没有对此进行测试,但本文中的评论似乎表明可以通过<location在 web.config 中使用 > 元素仅为某些位置注册模块,例如:

  <location path="some/path">
    <system.web>
      <httpModules>
        <remove name="name"/>
        <add name="name" type="type"/>
      </httpModules>
    </system.web>
  </location>
于 2009-05-26T15:57:49.277 回答
0

我假设问题出在 HttpModule 的继承上,您是否需要通过第三方控件继承 web.config?

尝试在路径将存储组件的位置添加此属性;

<location path="/ThirdPartyComponents" inheritInChildApplications="false">
    ...
</location>
于 2009-05-26T16:55:50.767 回答
0

你可以做到这一点的一种方法是使用包装模块。向您的应用程序注册一个 httpModule,然后在此模块中创建与运行其他模块相对应的规则。您可以访问请求对象,因此您应该能够检测到您收到的请求类型并将逻辑路由到相关(自定义)模块。

于 2015-03-17T10:20:31.713 回答