Мое приложение вызывает RemotingConfiguration.Configure()
для настройки .NET Remoting.Но так как мне нужно, чтобы атрибут portName элемента channel был разным при каждом запуске приложения, я должен настроить этот конкретный параметр программно.
Звучит очень просто (и, вероятно, так и есть - но я ужепоиск в Google весь день для ответа).
Пока у меня есть:
RemotingConfiguration.Configure(Program.ConfigFilePath, false);
IChannel[] regChans = ChannelServices.RegisteredChannels;
IpcChannel ipcChannel = (IpcChannel)ChannelServices.GetChannel(regChans[0].ChannelName);
Отладчик показывает мне, что ipcChannel._serverChannel._prop
будет хеш-таблицей, к которой мне нужно добавить записьнапример, ["portName"] = uniquePortName
, но я просто не могу понять, как получить к нему доступ и изменить его.
Я знаю, что всегда могу удалить файл * .config и выполнить все это программно, но я действительно не хочу отказываться от преимуществ, связанных с простотой редактирования большинства настроек.
Не слишком ли поздно модифицировать объект IpcClientChannel
после возвращения RemotingConfiguration.Configure()
?Очевидно, я мог бы написать свою собственную версию RemotingConfiguration.Configure()
, но это тоже не похоже на правильный способ сделать что-либо.