Meine Anwendung ruft RemotingConfiguration.Configure()
auf, um .NET Remoting einzurichten. Aber da das Attribut portName des Elements channels bei jeder Ausführung der Anwendung unterschiedlich sein muss, muss ich diese Einstellung programmatisch konfigurieren.Einstellungen nach dem Aufruf von RemoteConfiguration.Configure (configFile) ändern?
Es klingt sehr einfach (und wahrscheinlich ist - aber ich habe Google den ganzen Tag für eine Antwort gesucht).
Bisher habe ich:
RemotingConfiguration.Configure(Program.ConfigFilePath, false);
IChannel[] regChans = ChannelServices.RegisteredChannels;
IpcChannel ipcChannel = (IpcChannel)ChannelServices.GetChannel(regChans[0].ChannelName);
Der Debugger zeigt mir, dass ipcChannel._serverChannel._prop
die Hash-Tabelle sein würde, an dem ich einen Eintrag wie ["portName"] = uniquePortName
hinzufügen müssen, aber ich kann einfach nicht sehen, wie diese zugreifen und diese ändern .
Ich weiß, ich könnte immer die * .config Datei verschrotten und die ganze Sache programmatisch tun, aber ich wirklich möchte nicht die Vorteile der meisten Einstellungen leicht bearbeitbar wegwerfen.
Ist es zu spät, um ein IpcClientChannel
Objekt zu ändern, sobald RemotingConfiguration.Configure()
zurückgegeben wurde? Natürlich könnte ich wahrscheinlich meine eigene Version von RemotingConfiguration.Configure()
schreiben, aber das scheint auch nicht der richtige Weg zu sein, Dinge zu tun.