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