문제

MVC 및 WebForms 웹 앱에서 사용할 수있는 구성 요소를 작성하고 있지만 HTTPContext가 처리되는 방식의 차이점을 처리하는 방법을 잘 모르겠습니다.

내 구성 요소에는 사용자 정의 ihttphandler (WebForms) 또는 MVC의 경우 사용자 정의 ActionResult가 포함됩니다.

그래서 몇 가지 질문이 있습니다.

  • 모델을 깨지 않고 MVC와 함께 ihttphandler를 사용하는 방법이 있습니까?
  • 두 가지 모두에 맞는 코드를 작성하려고하면서 httpcontext.current를 사용하는 것이 허용됩니까? 그것은 나에게 약간의 무차별적인 것처럼 보이지만 (이유는 확실하지 않음) 대안은 httpcontext와 controlLerContext 사이의 추상화를 처리하기 위해 상당히 장황한 인터페이스를 작성하고 구현하는 것입니다.
  • 내가 이것을 완전히 잘못하고 있습니까?
도움이 되었습니까?

해결책

  1. 예, 당신은 그냥 사용할 수 있습니다 routes.IgnoreRoute("MyHandler.ashx"). 모델을 깨지 않고 원래 ASP.NET 처리로 돌아갑니다.
  2. 아니, 사용해도 완벽하게 괜찮다고 생각합니다. HttpContext.Current. 자신의 핸들러를 작성할 때 MVC는 그다지 적용 할 수 없다고 생각합니다. 당신은 당신의 코드를 작성하고 있습니다 asp.net, ASP.NET MVC 또는 ASP.NET 웹 양식이 아닙니다. 두 모델 모두에서 작업 할 수 있습니다 (MVC의 무시력으로 웹 양식으로 OOTB가 작동합니다). 당신은 그들이해야 할 것보다 더 복잡하게 만들 수 있습니다! 디자인 패턴 (예 : MVC)의 유일한 목적은 단순합니다. 일을 복잡하게 만들지 마십시오!
  3. goto 2; 간단한 핸들러를 작성하십시오!
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top