Как создать асинхронную версию функций wcf без ссылки на сервис? - PullRequest
0 голосов
/ 01 июня 2018

У меня есть клиент-серверное приложение, и я удаляю ссылку на службу со стороны клиента.Я следовал этой статье , чтобы получить доступ к функциям сервера без него.Это прекрасно работает.

Проблема, с которой я столкнулся, заключается в том, что ссылка на службу смогла сгенерировать синхронные / асинхронные версии функций (из которых мы использовали асинхронную версию) при одновременном доступе к функциям непосредственно через интерфейс.у нас есть только доступ к версии синхронизации.Есть ли способ асинхронного вызова сервисных функций wcf без ссылки на сервис?Это единственный способ сделать это, чтобы иметь обертку, которая создает Task каждый раз, когда я хочу сделать вызов?

вот фрагмент кода для доступа к сервисным функциям:

ChannelFactory<IService> channelFactory = null;
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:4504" + "/MyService");
channelFactory = new ChannelFactory<IService >(binding, endpointAddress);
IService channel = channelFactory.CreateChannel();
var result = channel.MyFunction();

Я хочу иметь возможность var result = channel.MyFunctionAsync();

Я также рассмотрел этот ответ, но это потребовало бы создания делегатов для каждой функции в нашем интерфейсе с сотнямифункций

...