2014-02-06 3 views
2

Мне, должно быть, здесь что-то не хватает. Но я не могу видеть, что я сделал не так. У меня есть следующий код:ждут метод async WCF

var resp = await client.findItemsByCategoryAsync(request); 

Но этот код дает мне следующее сообщение об ошибке компилятора: enter image description here

Хотя это говорит awaitable я не могу использовать AWAIT ключевое слово. Этот метод предоставляется службой WCF (Ebay Finding API)

+1

Прочитать сообщение об ошибке. 'Рассмотрите возможность маркировки этого метода с помощью модификатора 'async' и измените его тип возврата на« Задача » –

+0

Пожалуйста, не публикуйте скриншоты кода или сообщений об ошибках. Их чрезвычайно трудно читать. Скопируйте и вставьте текст в свой вопрос. –

+1

Мне плохо для людей, которые пишут сообщения об ошибках. –

ответ

3

Метод, содержащий оператор await, также должен быть объявлен как async.

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

Сообщение об ошибке относится к текущему методу, а не к вызову, который вы вызываете.

+2

Хороший анализ сообщения об ошибке, но метод op должен возвращать 'Task' и заканчивать' Async'. –

+0

@StephenCleary Ending с Async - действительно хорошее соглашение, я отредактирую ответ. Однако я буду придерживаться недействительности, так как это допустимый тип возвращаемого значения, и я не знаю, что он делает в методе. Он может вернуть Задачу или Задачу , если понадобится. –

Смежные вопросы