ChannelDispatcherBase.Detach(ServiceHostBase) 方法

定义

在派生类中重写时,将通道调度程序与特定主机分离。

protected:
 virtual void Detach(System::ServiceModel::ServiceHostBase ^ host);
protected virtual void Detach (System.ServiceModel.ServiceHostBase host);
abstract member Detach : System.ServiceModel.ServiceHostBase -> unit
override this.Detach : System.ServiceModel.ServiceHostBase -> unit
Protected Overridable Sub Detach (host As ServiceHostBase)

参数

例外

hostnull

通信对象处于 OpeningOpened 状态,或者主机已设置。

通信对象处于 ClosingClosed 状态。

通信对象处于 Faulted 状态。

注解

只有当 ServiceHostBase 的实例处于 ChannelDispatcher 状态时才可以分离 Created,因为该状态是唯一一个可变且不被释放的状态。

应将与通道调度程序关联的 ServiceHostBase 设置为 null

当从 ServiceHost 集合中删除 ChannelDispatcherBase 时,ChannelDispatchers 会调用此方法。 这使 ChannelDispatcherBase 有机会解除挂钩事件并检查 ServiceHost

适用于