HttpContext и написание компонента для веб-форм и MVC - PullRequest
1 голос
/ 05 января 2009

Я пишу компонент, который я хотел бы использовать как в веб-приложениях MVC, так и в WebForms, но я не уверен, как справляться с различиями в обработке HttpContext.

Мой компонент включает в себя пользовательский IHttpHandler (для веб-форм) или пользовательский ActionResult (для MVC).

Итак, у меня есть несколько вопросов:

  • Есть ли способ использовать IHttpHandler с MVC, не нарушая модель?
  • Допустимо ли использовать HttpContext.Current при попытке написать код, который будет работать для обоих? Мне это кажется немного грубым (не знаю почему), но альтернативой было бы написание и реализация довольно подробного интерфейса для обработки абстракции между HttpContext и ControllerContext.
  • Я поступаю по этому поводу совершенно неправильно?

1 Ответ

2 голосов
/ 05 января 2009
  1. Да, вы можете просто использовать routes.IgnoreRoute("MyHandler.ashx"). Он вернется к исходной обработке ASP.NET, не нарушая модель.
  2. Нет, я думаю, что вполне нормально использовать HttpContext.Current. Я думаю, что когда вы пишете свой собственный обработчик, MVC не очень применим. Вы пишете свой код для ASP.NET , а не для ASP.NET MVC или ASP.NET Web Forms. Это легко сделать, работая на обеих моделях (работает OOTB с веб-формами, с IgnoreRoute в MVC). Вы можете сделать вещь более сложной, чем они должны быть! Помните, что единственной целью шаблонов проектирования (таких как MVC) является простота. Не усложняй!
  3. goto 2; Просто напишите простой обработчик!
...