Remoting set timeout

淺唱寂寞╮ 提交于 2019-12-07 10:55:48

问题


.NET remoting is used in my brownfield application. We decided to set timeouts for our remoting methods.

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

The problem is that it seems that timeout doesn't work. I checked it by setting System.Threading.Thread.Sleep(5 * 1000); in the invoked code. Is the reason that IpcClientChannel doesn't support timeouts?

How do I set the timeout?


回答1:


The name of property to set the timeout of the IpcClientChannel isn´t "timeout". The name is "connectionTimeout". See Client Channel Properties (MSDN). Then it should work.

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


来源:https://stackoverflow.com/questions/3102572/remoting-set-timeout

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!