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");