2010-07-20 105 views
1

我只是將我的控制器轉換爲asp.net mvc 2中的asyncController(即:spliting action method About into AboutAsync和AboutCompleted)。但是,我收到一個資源未找到錯誤。在asp.net mvc中找不到資源AsyncController

我的路由表沒有改變,我能想到的唯一原因是因爲我是mvcextension項目。由於它是自己的controllerFactory接線並從IoC容器創建實例,是否需要連接AsyncHttpHandler?任何人都可以放棄一些提示嗎?

在此先感謝。

回答

5

一些注意的東西來檢查,依次是:

  • 確保您的控制器子類AsyncController而不是簡單的控制器。
  • 的URL打的HomeController :: AboutAsync()/ AboutCompleted()應該是/首頁/(在異步不是URL的一部分)
  • 如果您正在使用自定義調用,它必須子類AsyncControllerActionInvoker(或實現IAsyncControllerActionInvoker)而不是子類ControllerActionInvoker直接
  • 請確保您將MvcRouteHandler掛接到路由(這應該是MapRoute的默認行爲)。如果您使用自定義IRouteHandler,請確保其GetHttpHandler()方法返回MvcHandler。 (注 - 你不應該繼承MvcHandler。)
+0

「如果你正在使用自定義調用,它必須繼承AsyncControllerActionInvoker(或實施IAsyncControllerActionInvoker),而不是子類ControllerActionInvoker直接」 這是正確的!感謝開源,我不僅可以自己解決這個問題,而且還可以修補! – Herman 2010-07-20 02:20:28