gpt4 book ai didi

wcf - .NET 4.5 中是否支持带有异步方法的 ChannelFactory?

转载 作者:行者123 更新时间:2023-12-04 19:37:23 28 4
gpt4 key购买 nike

我正在将我们的 WCF 服务转换为使用异步编程。正如预期的那样,界面如下所示:

public interface IFoo
{
Task<string> DoSomething(string request);
}

在客户端,我没有从 Visual Studio 创建服务引用。因为我同时拥有客户端和服务器,所以我只与客户端共享接口(interface),然后创建(并缓存)ChannelFactory。为了异步调用该方法,我使用了预期的语法:

IFoo clientChannel = channelFactory.CreateChannel();
bool result = await clientChannel.DoSomething("Hello World");

我的问题是:ChannelFactory 生成的 IClientChannel 是否真的使用底层的异步功能?我的意思是,我可以确定没有线程阻塞等待服务器响应吗?

最佳答案

查看 ClientBase 代码,异步调用全部归结为:

http://referencesource.microsoft.com/#System.ServiceModel/System/ServiceModel/Channels/ServiceChannel.cs,0353de22100bb396

似乎没有任何理由认为线程会阻塞等待网络响应。

关于wcf - .NET 4.5 中是否支持带有异步方法的 ChannelFactory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16431445/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com