如何在ASP.Net中排除与HttpHandler的指定路径匹配的内容?

时间:2010-03-24 17:06:43

标签: c# asp.net httphandler

我知道如果我想要MyPage.aspx请求转到名为MyAssembly的程序集中名为MyHandler的类,我可以将它添加到我的web.config文件中:

<configuration>
  <system.web>
    <httpHandlers>
      <add verb="*" path="MyPage.aspx" type="MyHandler, MyAssembly"/>
  </system.web>
</configuration>

这适用于(组成)网址上的任何MyPage.aspx:www.mycoolsite.com/MyProject/ [SomePathHere] /MyPage.aspx

如果我想为每个MyPage.aspx 执行此操作,除了 www.mycoolsite.com/MyProject/NoHandler/MyPage.aspx

有没有办法从处理程序中排除该路径?

1 个答案:

答案 0 :(得分:6)

您可以将web.config放在定义不同处理程序的NoHandler文件夹中(如果要为404样式服务器,则为NotFound等)。与当前web.config格式相同,只需要像处理程序一样只放置要覆盖的元素。

如果您想在该目录中使用404覆盖,这是一个示例:

<configuration>
 <system.web>
  <httpHandlers>
   <remove verb="*" path="MyPage.aspx" type="MyHandler, MyAssembly"/>
   <add verb="*" path="MyPage.aspx" type="MySpecialHandler, MyAssembly"/>
  </httpHandlers>
 </system.web>
</configuration>