我做了一个从MvcHandler派生的自定义处理程序。我有我的路线使用自定义RouteHandler返回我的新处理程序GetHttpHandler(),并且我重写ProcessRequest()在我的自定义处理程序中。对GetHttpHandler的调用触发了一个断点,我的处理程序的构造函数肯定被调用,但是在基础MvcHandler而不是ProcessRequest()上调用BeginProcessRequest()。为什么IHttpAsyncHandler通过IHttpHandler被调用?
为什么在我没有做任何调用它们时调用异步方法?我不想异步处理,我当然没有做任何明确的事情来获得它。我的控制器都来自Controller,而不是AsyncController。
我现在还没有与我的源代码,但我可以稍后添加它,如果需要的话。我希望有人可能知道BeginProcessRequest在不需要时可能会被调用的一些原因。
我尝试了一个带有System.Web.Mvc源代码的开箱即用的MVC 2应用程序,并且零更改始终调用BeginProcessRequest,而ProcessRequest则不是。 MVC 2中的默认处理是异步的吗?我一直在假设默认处理是同步的,但似乎我错了。 – 2010-04-16 03:59:18