brownfield远程处理。我们决定为我们的远程处理方法设置超时。
System.Collections.IDictionary properties = new System.Collections.Hashtable();
properties["name"] = Ipc_Channel_Name;
properties["timeout"] = 1 * 1000;
IChannel clientChannel = new IpcClientChannel(properties, null);
ChannelServices.RegisterChannel(clientChannel, false);
问题是看起来超时不起作用。我通过在调用的代码中设置System.Threading.Thread.Sleep(5 * 1000);
来检查它。 IpcClientChannel不支持超时的原因是什么?
如何设置超时?
答案 0 :(得分:5)
设置IpcClientChannel超时的属性名称不是“超时”。名称为“connectionTimeout”。请参阅 Client Channel Properties (MSDN)。然后它应该工作。
System.Collections.IDictionary properties = new System.Collections.Hashtable();
properties["name"] = Ipc_Channel_Name;
properties["connectionTimeout"] = 1 * 1000;
IChannel clientChannel = new IpcClientChannel(properties, null);
ChannelServices.RegisterChannel(clientChannel, false);