2011-09-29 29 views
5

我有一个MVC2应用程序。我还有一组来自System.Web.IHttpHandler的就绪HTTP处理程序。我如何一起使用它们?如何使用我的HTTP处理程序选择路径和其余的MVC处理程序?

我试着在web.config中的以下内容:

<system.webServer> 
    <!--other stuff--> 
     <handlers> 
      <add name="MyCustomHandler" verb="GET" path="MySpecificPath*" type="CustomHandling.CustomHttpHandlerBase, CustomHAndlingAssembly"/> 
      <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"/> 
     </handlers> 
</system.webServer> 

但控制从未达到我的处理程序和MVC处理程序是用于所有请求。

如何将我的处理程序用于所有其他路径的特定路径和MVC处理程序?

回答

2

我相信你需要在应用程序启动时忽略路由集合中的那些特定路径。例如,

routes.IgnoreRoute("MySpecificPath/{*pathInfo}"); 

否则UrlRoutingModule将匹配的路由,然后HTTP处理程序将通过IRouteHandler该路线的定位。

有关将ASP.NET WebForms与ASP.NET MVC混合使用的更多信息,请参阅this article