代码之家  ›  专栏  ›  技术社区  ›  Tim Hardy

为什么iHttpAsynchHandler被称为IHttpHandler?

  •  3
  • Tim Hardy  · 技术社区  · 16 年前

    我做了一个自定义处理程序,它来自MvcHandler。我的路由使用一个自定义的RouteHandler,它返回GetHttpHandler()的新处理程序,并重写自定义处理程序中的ProcessRequest()。对GetHttpHandler的调用触发了一个断点,并且确实调用了我的处理程序的构造函数,但是在基本MvcHandler上调用了BeginProcessRequest(),而不是ProcessRequest()。

    为什么在我没有调用异步方法的时候却调用它们?我不想要异步处理,我当然没有做任何显式的事情来获得它。我的控制器都派生自控制器,而不是异步控制器。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Community Mohan Dere    6 年前

    BradWilson回复了我在Asp.net论坛上的帖子,给出了以下答案 http://forums.asp.net/t/1547898.aspx

    简而言之:是的。

    加上异步控制器, 就ASP.NET核心而言 就运行时而言,入口点 现在是BeginProcessRequest和 EndProcessRequest,而不是ProcessRequest。

    听起来ProcessRequest甚至不再被调用了,但我可能弄错了。我可以说在我的测试中还没有看到。

    推荐文章