此时无法启动异步操作在调用WebService时发生异常?

时间:2013-06-14 05:32:24

标签: c# asp.net-mvc-3 web-services asynchronous exception-handling

在我的ASP.NET MVC 3项目中,我正在调用一个用于登录身份验证的Web服务。但它引发了一个例外:

Asynchronous Exception

异常详细信息:

  

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

如何解决此问题?

2 个答案:

答案 0 :(得分:8)

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

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

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

答案 1 :(得分:0)

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