2014-02-06 170 views
2

我必須在這裏丟失一些明顯的東西。但我不能看到我做錯了。 我有以下代碼:等待異步WCF方法

var resp = await client.findItemsByCategoryAsync(request); 

但這個代碼給我下面的編譯器錯誤: enter image description here

雖然說awaitable我不能使用的await關鍵字。該方法由WCF服務提供(Ebay Finding API)

+1

閱讀錯誤消息。 '請考慮使用'async'修飾符標記此方法並將其返回類型更改爲'Task'' –

+0

請不要發佈代碼或錯誤消息的屏幕截圖。他們非常難以閱讀。將文本複製並粘貼到您的問題中。 –

+1

我寫錯誤信息的人感覺不好。 –

回答

3

包含await運算符的方法也必須聲明爲async

public async void YourMethodAsync() 
{ 
    var resp = await client.findItemsByCategoryAsync(request); 
} 

錯誤消息引用了當前的方法,而不是您正在調用的方法等待。

+2

錯誤消息的良好分析,但op的方法應該返回一個'Task'並以'Async'結束。 –

+0

@StephenCleary用Async結束確實是一個很好的約定,我會編輯答案。但是我會堅持無效,因爲它是一個有效的返回類型,我不知道他在做什麼。如果他需要,他可以自由返回任務或任務。 –