2

NInject をデフォルトのコンテナーとして使用し、MVC4 プロジェクトでNInjectResolver クラスを使用しています。注射はよく効きます。

ここIActionInvokerに示すように、カスタム JSON シリアライゼーションを提供するために、デフォルトを置き換えようとしています。

アクションが返された場合、これは問題なく動作するように見えますJsonResultが、チョークがオンになります(デフォルトTask<JsonResult>にバインドしても)。IActionInvokerControllerActionInvoker

それを非同期アクションに変換すると、アクションは (JSON ではなく) 次のテキストを返します: System.Threading.Tasks.Task<System.Web.Mvc.JsonResult>- like calling ToString()it.

これを修正するにはどうすればよいですか?

4

1 に答える 1

3

タスクベースの非同期で作業しているため、 のインスタンスの注入を検討する必要がありますAsyncControllerActionInvoker

于 2012-09-11T17:09:10.640 に答える