2011-09-29 1 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 MVC와 ASP.NET WebForms의 혼합에 대한 자세한 내용은 this article을 참조하십시오.