如何在没有服务引用的情况下生成wcf函数的异步版本?

时间:2018-06-01 18:24:02

标签: c# wcf asynchronous service service-reference

我有一个客户端/服务器应用程序,我正在从客户端删除服务引用。我跟着this article能够在没有它的情况下实现访问服务器功能。这很好。

我遇到的问题是服务引用能够生成函数的同步/异步版本(我们使用异步版本),而直接通过接口访问函数我们只能访问同步版。有没有办法在没有服务引用的情况下异步调用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();

我也看了this回答,但是这将涉及为我们的界面中的每个函数创建代理,这些函数有数百个函数

0 个答案:

没有答案