我制作了一个源自MvcHandler的自定义处理程序。我有自己的路由使用自定义RouteHandler返回我的GetHttpHandler()的新处理程序,并在我的自定义处理程序中覆盖ProcessRequest()。对GetHttpHandler的调用是触发断点,我的处理程序的构造函数肯定被调用,但是在基本MvcHandler而不是ProcessRequest()上调用了BeginProcessRequest()。
为什么在我没有做任何调用它们的时候调用异步方法?我不希望异步处理,我当然没有做任何明确的事情来获得它。我的控制器都来自Controller,而不是AsyncController。
我现在没有源代码,但如果需要,我可以稍后添加。我希望有人可能知道在不需要的时候可能会调用BeginProcessRequest的一些原因。
答案 0 :(得分:2)
Brad Wilson回复了我在Asp.net论坛上的帖子,回答http://forums.asp.net/t/1547898.aspx:
简答:是的。
添加AsyncController, MvcHandler类需要是一个 IHttpAsyncHandler现在,意思是 就ASP.NET核心而言 关于运行时,入口点 现在是BeginProcessRequest和 EndProcessRequest,而不是ProcessRequest。
听起来甚至不再调用ProcessRequest,但我可能会弄错。我可以说我在测试中没有看到它。