17

在我的 ASP.NET MVC 3 项目中,我正在调用 Web 服务进行登录身份验证。但它抛出了一个异常:

异步异常

异常详情:

此时无法启动异步操作。异步操作只能在异步处理程序或模块内或在页面生命周期中的某些事件期间启动。如果在执行页面时发生此异常,请确保将页面标记为 <%@ Page Async="true" %>。

如何解决这个问题?

4

2 回答 2

13

确保您的 Controller 方法返回一个异步任务。

public class ServiceController : Controller 
{
    public async Task<ActionResult> Index()
    {       
        var service = new Service();
        await service.CallMethodAsync();    
        return View();
    }
}

基本上,文档是以他们认为您只使用 ASP.NET WebForms 的方式编写的,但是显然您也可以在 MVC 应用程序中使用它,因此需要更新他们的文档。

于 2014-12-10T23:10:39.510 回答
4

您正在调用 ASYNC 方法,因此您必须在页面声明 <%@ Page .....%> 中添加 Async="true"。

于 2019-09-26T07:12:26.627 回答