IHttpHandler не вызывается на метод действия контроллера MVC - PullRequest
0 голосов
/ 31 мая 2018

Я определил пользовательский обработчик HTTP, чтобы обновить заголовок запроса.Но когда я звоню http://localhost:52705/Home/Index., мой пользовательский обработчик HTTP не вызывается для этого контроллера -> запрос действия.Я также реализовал следующие действия:

public class TestHandler :  IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        return;
    }

    public bool IsReusable { get; private set; }
}

, найдите запись web.cofing для HTTPHandler

<system.webServer>
    <handlers>
      <add name="TestHandler" type=" mvc_app.Handler.TestHandler" path="*" verb="*"/>      
    </handlers>
    <modules>
      <remove name="FormsAuthenticationModule" />
    </modules>
  </system.webServer>

1 Ответ

0 голосов
/ 31 мая 2018

Потратив один день, если найдется один трюк для достижения той же функциональности, которую я хочу реализовать с помощью IHttpModule

Добавление пользовательского модуля HTTP

public class TestModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.BeginRequest += OnBeginRequest;
    }

    static void OnBeginRequest(object sender, EventArgs a)
    {
        Debug.WriteLine("OnBeginRequest Called MVC");        
    }

    public void Dispose()
    {
        throw new NotImplementedException();
    }
}

Обновление web.config для регистрации пользовательского HTTPмодуль

<system.webServer>
    <modules>
      <add name="TestModule" type="mvc_app.Handler.TestModule"/>          
    </modules>
 </system.webServer>

для приведенного выше решения все еще, я пытаюсь выяснить, почему мой метод OnBeginRequest () вызывается дважды

...