gpt4 book ai didi

C# Async MVC 方法返回 ContentResult System.Threading.Tasks.Task`1[System.Web.Mvc.JsonResult]

转载 作者:太空宇宙 更新时间:2023-11-03 20:11:12 24 4
gpt4 key购买 nike

我正在尝试将一些方法转换为异步方法,并从我正在修改的 Controller 中的一个简单示例开始:

public class MyAPIController : AsyncController
{
public async Task<JsonResult> List()
{
return Json(123456, JsonRequestBehavior.AllowGet);
}

...
}

当我测试方法而不是 Json 结果时,我得到了字符串值“System.Threading.Tasks.Task`1[System.Web.Mvc.JsonResult]”,我已经使用 Fiddler 并通过浏览验证了它。

该项目已手动升级到 .NET45。搜索表明这可能是程序集版本不正确的问题,但对项目文件和进程 View 的检查表明在运行时引用和加载了正确的类型。

有人对此有任何调试技巧吗?

谢谢。

最佳答案

在剥离 90% 的代码以使其正常工作并逐渐将其添加回去直到失败后,事实证明正在使用自定义 ControllerActionInvoker。解决方法是将自定义调用程序更改为从 AsyncControllerActionInvoker 继承并覆盖 BeginInvokeAction 而不是 InvokeAction。 AsyncControllerActionInvoker 可以处理异步和同步方法。

关于C# Async MVC 方法返回 ContentResult System.Threading.Tasks.Task`1[System.Web.Mvc.JsonResult],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19906922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com