我有一个MVC2应用程序。我还有一组来自System.Web.IHttpHandler
的现成HTTP处理程序。我如何一起使用它们?
我在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处理程序用于所有其他路径?
答案 0 :(得分:2)
我认为您需要在应用程序启动时忽略来自路径集合的特定路径。例如,
routes.IgnoreRoute("MySpecificPath/{*pathInfo}");
否则UrlRoutingModule将与路线匹配,然后http路由器将通过IRouteHandler
找到该路线。
有关将ASP.NET WebForms与ASP.NET MVC混合的详细信息,请参阅this article。