Asp.net mvc 4 异步操作方法返回无法同步执行的任务
此代码在我的本地计算机上运行良好Asp.net mvc 4 异步操作方法返回无法同步执行的任务,asp.net-mvc-4,async-await,Asp.net Mvc 4,Async Await,此代码在我的本地计算机上运行良好 public async Task<ActionResult> teststuff() { using (var client = new HttpClient()) { var twitter = await client.GetStringAsync("http://www.twitter.com"); Response.Write(twitter);
public async Task<ActionResult> teststuff()
{
using (var client = new HttpClient())
{
var twitter = await client.GetStringAsync("http://www.twitter.com");
Response.Write(twitter);
}
return View();
}
public异步任务teststuff()
{
使用(var client=new HttpClient())
{
var twitter=await client.GetStringAsync(“http://www.twitter.com");
回复。写(推特);
}
返回视图();
}
然而,当我上传到服务器时,我得到了错误响应
“/”应用程序中出现服务器错误。
异步操作方法“teststuff”返回一个任务,该任务
无法同步执行。描述:一个未处理的
执行当前web请求期间发生异常。
请查看堆栈跟踪以了解有关错误和错误的更多信息
它起源于代码的地方
异常详细信息:System.InvalidOperationException:异步
操作方法“teststuff”返回无法执行的任务
同步地
源错误:
在执行过程中生成了未处理的异常
当前web请求。关于货物来源和位置的信息
可以使用下面的异常堆栈跟踪来识别异常
堆栈跟踪:
[InvalidOperationException:异步操作方法'teststuff'
返回无法同步执行的任务。]System.Web.Mvc.Async.TaskAsyncActionDescriptor.Execute(ControllerContext controllerContext,IDictionary
2参数)+125
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext
controllerContext,ActionDescriptor ActionDescriptor,IDictionary
2
参数)+39System.Web.Mvc.c\u DisplayClass13.b\u 10() +120 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 过滤器,ActionExecutingContext预文本,Func
1 continuation)+637
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext
controllerContext,IList
1过滤器,ActionDescriptor ActionDescriptor,
IDictionary`2参数)+307System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext,字符串actionName)+688
NotFoundMvc.ActionInvokerRapper.InvokeActionWith404Catch(ControllerContext controllerContext,字符串actionName)+54
NotFoundMvc.ActionInvokerRapper.InvokeAction(ControllerContext controllerContext,字符串actionName)+19
System.Web.Mvc.c__displayClassId.b__19()+40
System.Web.Mvc.Async.c__显示类1.b__0()+15
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)+53 System.Web.Mvc.Async.c\uuu DisplayClass4.b\uu 3(IAsyncResult ar)+15
System.Web.Mvc.c_uuudisplayClass8.b_uuu3(IAsyncResult 异步结果)+42
System.Web.Mvc.Async.c\uuu DisplayClass4.b\uu 3(IAsyncResult ar)+15
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606 System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+288 --------------------------------------------------------------------------------版本信息:Microsoft.NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.17929 我的服务器上缺少一些东西,但就是找不到它是什么。如果您能提供帮助,我们将不胜感激 我曾尝试在服务器上重新安装.net framework 4.5,但没有效果。但是我注意到服务器上有两个 Microsoft.NET Framework 4多目标包和 Microsoft.NET Framework 4.5多目标包 不确定我是否应该移除4个
谢谢很奇怪,我刚刚删除了网站上的所有文件,然后重新发布了网站,一切正常 我认为这可能是因为我最近将该站点从一个MVC3站点升级到了MVC4,并且目录中的MVC3站点可能还剩下一个奇怪的DLL
感谢Stephen的建议,它给了我清理站点并重新提供站点的想法在子类化
ControllerActionInvoker
以使用Ninject将依赖项注入MVC属性后,我出现了这个错误。本页介绍了执行此操作的过程:
我的控制器中有一些异步方法,在调用这些异步方法时出现了这个错误。事实证明,我需要的不是子类ControllerActionInvoker
,而是System.Web.Mvc.Async.AsyncControllerActionInvoker
更改基类后,我的代码运行得很好。您有
/configuration/system.web吗/compilation@targetFramework
设置为4.5
?是的,我刚刚检查,targetFramework设置为4.5。我刚才在使用CastleWindsor for DI of Action筛选器的应用程序上遇到了相同的问题。