ChannelDispatcher.Detach(ServiceHostBase) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Desasocia el host de servicio del distribuidor del canal.
protected:
override void Detach(System::ServiceModel::ServiceHostBase ^ host);
protected override void Detach(System.ServiceModel.ServiceHostBase host);
override this.Detach : System.ServiceModel.ServiceHostBase -> unit
Protected Overrides Sub Detach (host As ServiceHostBase)
Parámetros
- host
- ServiceHostBase
ServiceHostBase para el servicio.
Excepciones
host es null.
host no es el host del distribuidor del canal.
O bien
El objeto de comunicación está en un Opening estado o Opened .
El objeto de comunicación está en un Faulted estado .
Ejemplos
Uri baseAddress = new Uri("http://localhost:8001/Simple");
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
serviceHost.AddServiceEndpoint(
typeof(ICalculator),
new WSHttpBinding(),
"CalculatorServiceObject");
serviceHost.Open();
IChannelListener icl = serviceHost.ChannelDispatchers[0].Listener;
ChannelDispatcher dispatcher = new ChannelDispatcher(icl);
dispatcher.CloseInput();
Dim baseAddress As New Uri("http://localhost:8001/Simple")
Dim serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)
serviceHost.AddServiceEndpoint(GetType(ICalculator), New WSHttpBinding(), "CalculatorServiceObject")
serviceHost.Open()
Dim icl As IChannelListener = serviceHost.ChannelDispatchers(0).Listener
Dim dispatcher As New ChannelDispatcher(icl)
dispatcher.CloseInput()
Comentarios
Solo ServiceHostBase se puede desasociar cuando la instancia de ChannelDispatcher está en el Created estado , ya que es el único estado que es mutable y no se elimina.
Establece el ServiceHostBase asociado al distribuidor de canales en null.