文章内容
2018/5/4 10:45:28,作 者: 黄兵
现在无法开始异步操作。异步操作只能在异步处理程序或模块中开始,或在页生存期中的特定事件过程中开始
最近在使用C#异步的时候,报如下错误:
现在无法开始异步操作。异步操作只能在异步处理程序或模块中开始,或在页生存期中的特定事件过程中开始。如果此异常在执行 Page 时发生,请确保 Page 标记为 <%@ Page Async="true" %>。此异常也可能表明试图调用“异步无效”方法,在 ASP.NET 请求处理内一般不支持这种方法。相反,该异步方法应该返回一个任务,而调用方应该等待该任务。
出现这个错误的原因:
因为控制器上面没有实现异步,开始代码如下:
public ActionResult DownloadImages() { BlogAppCore.zhihu.zhihu_comm_json json = new BlogAppCore.zhihu.zhihu_comm_json(); string result = json.SaveZhihuImagesToLocal().ToString(); return Content(result); }
上面代码有问题,截图如下:
修改之后代码如下:
public async TaskDownloadImages() { BlogAppCore.zhihu.zhihu_comm_json json = new BlogAppCore.zhihu.zhihu_comm_json(); bool result =await json.SaveZhihuImagesToLocal(); return Content(result.ToString()); }
上面代码有问题,截图如下:
之后调试,顺利通过。
参考资料:stmpclient sendasync() 发送邮件失败 现在无法进行异步操作,求助大神,如何修改?
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - 现在无法开始异步操作。异步操作只能在异步处理程序或模块中开始,或在页生存期中的特定事件过程中开始
评论列表