Мое приложение вызывает RemotingConfiguration.Configure()
, чтобы настроить .NET Remoting. Но поскольку мне нужно, чтобы атрибут portName элемента каналов был различным при каждом запуске приложения, я должен настроить этот конкретный параметр программно.Изменить настройки после вызова RemoteConfiguration.Configure (configFile)?
Звучит очень просто (и, вероятно, есть - но я искал 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()
, но это не похоже на правильный способ делать то же самое.