Реализация асинхронной службы WCF

У меня есть приложение WPF, которое я сейчас работаю над разделением на сторону клиента и сервера - используя WCF. Мне не понравился беспорядок, который я изначально получил с прямым решением, так что теперь я реструктурирую, следуя рекомендациям в скриншоте Мигеля Кастро,WCF Extreme, Если вы не знакомы с видео, он в основном настраивает всю связь вручную - без использования сервисных ссылок. Это включает в себя:

Общий контракт со всеми контрактами на обслуживание и передачу данных, на которые ссылаются клиент и сервер.Консольное приложение, обслуживающее сервисПрокси-классы на клиенте, отображающие службу и передающие ей вызовы (используя ClientBase или ClientFactory)

Я выполнил все его шаги, и мне действительно нравится, куда это идет. Однако он не обращается к асинхронным вызовам службы, и это то, что я хотел бы использовать.

При добавлении ссылки на службу я могу установить флажок «Создать асинхронные операции», и я получаю MyServiceCompleted и MyServiceAsync. Тем не менее, я думаю, это то, что было сгенерировано при добавлении ссылки на службу, а не какое-то волшебство в классах, на которых это основано?

Итак, я могу как-то получить асинхронные операции из ClientBase или ClientFactory? Или я должен определить фактические службы на стороне сервера, чтобы быть асинхронными? Если да - может кто-нибудь дать мне несколько советов или примеров, как начать работу с простым асинхронным сервисом? Я читал на MSDN по этому вопросу, но это оставило меня в замешательстве, чувствуя себя идиотом из-за того, что я этого уже не получил ..

Ответы на вопрос(3)

Ваш ответ на вопрос