我做了一個從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