我正在尝试在VS 2013上的新C#4.5 Web应用程序中使用异步/等待代码。它是在IISExpress下我的开发人员计算机上运行的Web应用程序。我在异步方法中设置断点,并可以看到该方法按预期完成。但是,等待电话后的下一行代码看起来并没有被击中。我在那里有一个断点,它没有被打到,我尝试了一下代码。它似乎在那里等待无限。我试着在控制台应用程序中运行相同的代码,并且工作正常。 这使我想知道异步/等待调试在Web应用程序中无法工作,或者它可能与IISExpress有关?还是有什么我失踪?调用C#异步方法不会在Web应用程序中返回
的代码是非常基本的,看起来像这样:
public async Task SomeMethodAsync(string parameter1)
{
}
...代码调用上述异步方法:
await SomeMethodAsync("some value");
你在使用什么Web框架? 如果您使用的是Asp.Net MVC,则必须在控制器中使用异步操作: http://www.asp.net/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4 – DaniCE
代码跑过了等待?把一些日志记录在那里,看看它是否是一个“调试”问题,或者你的异步方法可能永远不会完成。 –
@DaniCE,谢谢,它是一个经典的Web窗体。 –