我正在将我们的 WCF 服务转换为使用异步编程。正如预期的那样,界面如下所示:
public interface IFoo
{
Task<string> DoSomething(string request);
}
在客户端,我没有从 Visual Studio 创建服务引用。因为我同时拥有客户端和服务器,所以我只与客户端共享接口,然后我创建(并缓存)一个 ChannelFactory。要异步调用该方法,我使用预期的语法:
IFoo clientChannel = channelFactory.CreateChannel();
bool result = await clientChannel.DoSomething("Hello World");
我的问题是: ChannelFactory 生成的 IClientChannel 真的使用了下面的异步功能吗?我的意思是,我可以确定没有线程阻塞等待服务器响应吗?