/// <summary> /// Erzeugt einen fertig konfigurierten Remoting-Kanal. /// <remarks> /// Wenn der Kanal in der aktuellen Anwendungsdomäne bereits registriert wurde, wird null zurückgegeben. /// </remarks> /// </summary> /// <returns>Remoting Kanal</returns> public IChannel CreateChannel() { // Kanal suchen IChannel channel = ChannelServices.GetChannel(_channelName); // Wenn der Kanal nicht gefunden wurde ... if (channel == null) { // Konfiguration für den Kanal erstellen System.Collections.IDictionary channelSettings = new System.Collections.Hashtable(); channelSettings["name"] = _channelName; channelSettings["listener"] = _listenerQueue; // Binäre Serialisierung von komplexen Objekten aktivieren BinaryServerFormatterSinkProvider serverFormatter = new BinaryServerFormatterSinkProvider(); serverFormatter.TypeFilterLevel = TypeFilterLevel.Full; BinaryClientFormatterSinkProvider clientFormatter = new BinaryClientFormatterSinkProvider(); // Neuen MSMQ-Kanal erzeugen channel = new RKiss.MSMQChannel.Receiver(channelSettings, serverFormatter); // Wenn Zyan nicht mit mono ausgeführt wird ... if (!MonoCheck.IsRunningOnMono) { // Sicherstellen, dass vollständige Ausnahmeinformationen übertragen werden if (RemotingConfiguration.CustomErrorsMode != CustomErrorsModes.Off) { RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off; } } // Kanal zurückgeben return(channel); } // Nichts zurückgeben return(null); }
/// <summary> /// Erzeugt einen fertig konfigurierten Remoting-Kanal. /// <remarks> /// Wenn der Kanal in der aktuellen Anwendungsdomäne bereits registriert wurde, wird null zurückgegeben. /// </remarks> /// </summary> /// <returns>Remoting Kanal</returns> public IChannel CreateChannel() { // Kanal suchen IChannel channel = ChannelServices.GetChannel(_channelName); // Wenn der Kanal nicht gefunden wurde ... if (channel == null) { // Konfiguration für den Kanal erstellen System.Collections.IDictionary channelSettings = new System.Collections.Hashtable(); channelSettings["name"] = _channelName; channelSettings["listener"] = _listenerQueue; // Binäre Serialisierung von komplexen Objekten aktivieren BinaryServerFormatterSinkProvider serverFormatter = new BinaryServerFormatterSinkProvider(); serverFormatter.TypeFilterLevel = TypeFilterLevel.Full; BinaryClientFormatterSinkProvider clientFormatter = new BinaryClientFormatterSinkProvider(); // Neuen MSMQ-Kanal erzeugen channel = new RKiss.MSMQChannel.Receiver(channelSettings, serverFormatter); // Wenn Zyan nicht mit mono ausgeführt wird ... if (!MonoCheck.IsRunningOnMono) { // Sicherstellen, dass vollständige Ausnahmeinformationen übertragen werden if (RemotingConfiguration.CustomErrorsMode != CustomErrorsModes.Off) RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off; } // Kanal zurückgeben return channel; } // Nichts zurückgeben return null; }