2010-07-20 89 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