2012-06-14 3 views
3

Возможно ли создать веб-службу C#, которая может быть вызвана асинхронно без использования автогенерированного клиента, который должен обеспечить синхронизацию через многопоточность.Создание асинхронной веб-службы

ответ

3

Да, автоматически созданный прокси всегда содержит как синхронные, так и асинхронные версии каждого метода. Например, если сервер предоставляет метод, называемый DoWork, прокси будет содержать как метод DoWork, так и метод DoWorkAsync. Когда версия метода Async завершает работу, прокси-сервер запускает завершенное событие, в данном случае DoWorkCompleted. Возвращаемое значение из метода DoWork будет включено в аргументы события.

+0

Благодарим вас, но мне интересно, как служба может обращаться к клиенту? Я имею в виду –

+0

@MattW. Мое редактирование ответили на ваш вопрос, или вы все еще интересуетесь обратными вызовами? –

+0

Спасибо, но мне интересно, как служба может обратится к клиенту? Я имею в виду: кажется, что клиент (автогенерированный или нет) должен обрабатывать вызовы обоих методов DoWork, которые, похоже, сохраняют асинхронный характер в клиенте. Может ли сама услуга на самом деле вызывать метод на клиенте? –

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