为什么通过IHttpHandler调用IHttpAsyncHandler?

时间:2010-04-13 16:48:10

标签: asp.net asp.net-mvc-2 ihttphandler ihttpasynchandler

我制作了一个源自MvcHandler的自定义处理程序。我有自己的路由使用自定义RouteHandler返回我的GetHttpHandler()的新处理程序,并在我的自定义处理程序中覆盖ProcessRequest()。对GetHttpHandler的调用是触发断点,我的处理程序的构造函数肯定被调用,但是在基本MvcHandler而不是ProcessRequest()上调用了BeginProcessRequest()。

为什么在我没有做任何调用它们的时候调用异步方法?我不希望异步处理,我当然没有做任何明确的事情来获得它。我的控制器都来自Controller,而不是AsyncController。

我现在没有源代码,但如果需要,我可以稍后添加。我希望有人可能知道在不需要的时候可能会调用BeginProcessRequest的一些原因。

1 个答案:

答案 0 :(得分:2)

Brad Wilson回复了我在Asp.net论坛上的帖子,回答http://forums.asp.net/t/1547898.aspx

  

简答:是的。

     

添加AsyncController,   MvcHandler类需要是一个   IHttpAsyncHandler现在,意思是   就ASP.NET核心而言   关于运行时,入口点   现在是BeginProcessRequest和   EndProcessRequest,而不是ProcessRequest。

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