2
我已经编写了大部分使用WCF的代码片段,其中客户端订阅服务器并且服务器将数据推送到客户端。在WCF中设置回调的receiveTimeout?
我离开是运行了一段时间,试图puch一些数据到客户端,并得到了一个异常,告诉我我必须设置receiveTimeout属性。
我在哪里可以设置此属性?我看到这个问题的地方,它看起来像使用svcutil.exe生成WCF代码,我没有这样做,我真的不想从头开始。
我已经编写了大部分使用WCF的代码片段,其中客户端订阅服务器并且服务器将数据推送到客户端。在WCF中设置回调的receiveTimeout?
我离开是运行了一段时间,试图puch一些数据到客户端,并得到了一个异常,告诉我我必须设置receiveTimeout属性。
我在哪里可以设置此属性?我看到这个问题的地方,它看起来像使用svcutil.exe生成WCF代码,我没有这样做,我真的不想从头开始。
我已经找到了如何做到这一点,当创建管道客户端,你必须明确地设置绑定超时。
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");