gpt4 book ai didi

c# - 在 WCF 中为回调设置 receiveTimeout?

转载 作者:行者123 更新时间:2023-11-30 22:50:25 27 4
gpt4 key购买 nike

我使用 WCF 编写了大部分工作代码,其中客户端订阅服务器,服务器将数据推送到客户端。

我离开运行了一段时间,并尝试向客户端发送一些数据,但出现异常,告诉我必须设置 receiveTimeout 属性。

我在哪里可以设置这个属性?我到处都看到这个问题得到解决,看起来 WCF 代码是使用 svcutil.exe 生成的,我没有这样做,我真的不想从头开始。

最佳答案

我已经找到了如何做到这一点,在创建管道客户端时,您必须明确设置绑定(bind)的超时时间。

NetNamedPipeBinding binding = new NetNamedPipeBinding();
binding.ReceiveTimeout = new TimeSpan(1,0,0);
binding.SendTimeout = new TimeSpan(1,0,0);
DuplexChannelFactory<IVdnServer> pipeFactory = new
DuplexChannelFactory<IVdnServer>(_subscriber, binding,
new EndpointAddress("net.pipe://localhost/PipeService"));

当您创建服务端点服务器端时,您还必须明确设置超时时间。

NetNamedPipeBinding binding = new NetNamedPipeBinding();
binding.ReceiveTimeout = new TimeSpan(1,0,0);
binding.SendTimeout = new TimeSpan(1,0,0);

_host.AddServiceEndpoint(typeof(IVdnServer),binding , "PipeReverse");

关于c# - 在 WCF 中为回调设置 receiveTimeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/594931/

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