Удаленное заданное время ожидания - PullRequest
4 голосов
/ 23 июня 2010

.NET удаленное взаимодействие используется в моем приложении 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 не поддерживает тайм-ауты?

Как установить тайм-аут?

1 Ответ

5 голосов
/ 08 июля 2010

Имя свойства для установки тайм-аута IpcClientChannel не является «тайм-аутом». Имя "connectionTimeout" . См. Свойства канала клиента ( 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);
...