2014-04-23 29 views
1

我正在写一个自定义的HttpHandler来处理Web框架的Web请求我正在编写,但试图找到一种方式编程方式“忽略”请求,如果没有URL路径匹配。我忽略的意思是,如果没有预定义的路由匹配传入的请求url,那么默认为标准请求处理,如果您使用的是原始ASP.Net Web应用程序,则会得到该处理。可以自定义IHttpHandler恢复到默认的请求处理?

我能找到的,实际上,到目前为止运转的唯一方法是删除自定义HTTP处理程序,为特定路径,如:

<location path="Test"> 
    <system.webServer> 
     <handlers> 
      <remove name="DefaultHandler"/> 
     </handlers> 
    </system.webServer> 
</location> 

我没有大量的这个解决方案satisfyed和想实现类似于MVC的IgnoreRoute("...")。尽管从源头上挖掘出来是一件吃力不讨好的工作,但我不知道它究竟在哪里做。

所以理想情况下,我想知道是否有可能以某种方式退出自定义http处理程序,并让应用程序以默认方式处理它,或了解MVC如何执行此操作。

任何人有任何想法?

谢谢。

+0

这不是HTTP处理程序的用途--HTTP处理程序用于非常特定的URL格式,例如应用于具有给定扩展名的所有文件(所有'* .js'请求的缩减器,所有'*'的页面处理器。 aspx'请求,所有'* .jpg'请求的自动缩放器...)。如果你想与其他HTTP模块协同工作,你必须使用HTTP模块 - 这些模块用于过滤,初始化,路由等。你可以改变正在执行的HTTP处理程序,当然,没有“默认”处理程序切换到。 – Luaan

回答

1

我不认为你可以在Httphandler中做到这一点。

考虑使用HttpModule。这也是MCV路由的工作原理。

相关问题