1

asp.net mvc 2でコントローラーをasyncControllerに変換しました(つまり、アクションメソッドAboutをAboutAsyncとAboutCompletedに分割します)。ただし、リソースが見つからないというエラーが発生します。

私のルート テーブルは変更されていません。考えられる唯一の理由は、私がmvcextensionプロジェクトであるためです。controllerFactory の独自の配線を行い、IoC コンテナーからインスタンスを作成するため、AsyncHttpHandler をうまく配線する必要がありますか? 誰でもいくつかのヒントをドロップできますか?

前もって感謝します。

4

1 に答える 1

5

確認すべき点について、次の順序でいくつか注意してください。

  • コントローラが単なるControllerではなくAsyncControllerをサブクラス化することを確認してください。
  • HomeController :: AboutAsync()/ AboutCompleted()をヒットするURLは/ Home / Aboutである必要があります(非同期はURLの一部ではありません)
  • カスタムインボーカを使用している場合は、ControllerActionInvokerを直接サブクラス化するのではなく、AsyncControllerActionInvokerをサブクラス化する(またはIAsyncControllerActionInvokerを実装する)必要があります。
  • MvcRouteHandlerをルーティングにフックしていることを確認してください(これはMapRouteのデフォルトの動作であるはずです)。カスタムIRouteHandlerを使用している場合は、そのGetHttpHandler()メソッドがMvcHandlerを返していることを確認してください。(注-MvcHandlerをサブクラス化しないでください。)
于 2010-07-20T01:53:08.453 に答える