Comparteix a través de


ChannelDispatcher.Detach(ServiceHostBase) Método

Definición

Desasocia el host de servicio del distribuidor de 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 del servicio.

Excepciones

host es null.

host no es el host del distribuidor de canal.

o bien

El objeto de comunicación está en un estado de Opening o Opened.

El objeto de comunicación está en un estado de Closing o Closed.

El objeto de comunicación está en un estado de Faulted.

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

ServiceHostBase sólo se puede desasociar cuando la instancia del ChannelDispatcher está en el estado de Created, puesto que éste es el único estado que es mutable y no eliminado.

Establece la propiedad ServiceHostBase asociada al distribuidor de canal en null.

Se aplica a