自定义IActionInvoker和异步操作

时间:2012-09-04 15:33:33

标签: asp.net-mvc-4 ninject task-parallel-library

我正在使用NInject作为默认容器,并使用MVC4项目上的NInjectResolver class。注射效果很好。

现在我正在尝试替换默认的IActionInvoker,以便提供here所示的自定义JSON序列化。

如果操作返回JsonResult但它在Task<JsonResult>上窒息(即使我将IActionInvoker绑定到默认ControllerActionInvoker),这似乎也可以正常工作。

当我将其转换为异步操作时,操作将返回(而不是JSON),此文本为:System.Threading.Tasks.Task<System.Web.Mvc.JsonResult> - 就像在其上调用ToString()一样。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

由于您正在使用基于任务的异步,因此您必须考虑注入AsyncControllerActionInvoker的实例。