我正在嘗試在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窗體。 –