The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task<?>'.
'await' 運算子只能在非同步方法使用。請考慮以 'async' 修飾詞標記此方法...
其實它講得很明白了,只是不熟一時想不通
public void Foo() { try { var ret = await _service.RemoteMethodAsync(); } catch (Exception ex) { string exMsg = ex.Message; } }中因為調用 RemoteMethodAsync 並希望使用 await 讓主緒不要 hold 住,但是如果要用 await,void 前應加上 async,所以是
public async void Foo() { try { var ret = await _service.RemoteMethodAsync(); } catch (Exception ex) { string exMsg = ex.Message; } }就這麼簡單而已,我想大概大部分的人在這邊都沒卡住,中文資訊找不到這個錯(哈)。
ref: MSDN discuz
沒有留言:
張貼留言