internal override void Unregister(TransportChannelListener channelListener) { UriPrefixTable <HttpChannelListener> table; if (!this.addressTables.TryGetValue(((HttpChannelListener)channelListener).Method, out table)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("ListenerFactoryNotRegistered", new object[] { channelListener.Uri }))); } System.ServiceModel.HostNameComparisonMode registeredComparisonMode = channelListener.InheritBaseAddressSettings ? this.hostNameComparisonMode : channelListener.HostNameComparisonModeInternal; TransportManager.EnsureRegistered <HttpChannelListener>(table, (HttpChannelListener)channelListener, registeredComparisonMode); table.UnregisterUri(channelListener.Uri, registeredComparisonMode); }
internal override void Unregister(TransportChannelListener channelListener) { TransportManager.EnsureRegistered <TChannelListener>(this.AddressTable, (TChannelListener)channelListener, channelListener.HostNameComparisonModeInternal); this.AddressTable.UnregisterUri(channelListener.Uri, channelListener.HostNameComparisonModeInternal); channelListener.SetMessageReceivedCallback(null); }