2011-09-29 10 views
5

Tengo una aplicación MVC2. También tengo un conjunto de controladores HTTP listos que derivan de System.Web.IHttpHandler. ¿Cómo los uso juntos?¿Cómo uso mis manejadores HTTP para las rutas seleccionadas y el manejador MVC para el resto?

He intentado lo siguiente en 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> 

sin embargo, el control nunca llega a mi manejador y el controlador MVC se utiliza para todas las solicitudes.

¿Cómo uso mi controlador para una ruta específica y el controlador MVC para todas las demás rutas?

Respuesta

2

Creo que debe ignorar las rutas específicas de la colección de rutas en el inicio de la aplicación. Por ejemplo,

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

lo contrario UrlRoutingModule coincidirá con la ruta y luego http controlador estará ubicado a través de IRouteHandler para esa ruta.

Consulte this article para obtener más información sobre la mezcla de ASP.NET WebForms con ASP.NET MVC.

Cuestiones relacionadas