Aracılığıyla paylaş


ChannelDispatcher.Detach(ServiceHostBase) Yöntem

Tanım

Hizmet ana bilgisayarını kanal dağıtıcısından ayırır.

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)

Parametreler

host
ServiceHostBase

ServiceHostBase Hizmet için.

Özel durumlar

host, null değeridir.

host kanal dağıtıcısının konağı değildir.

-veya-

İletişim nesnesi veya OpeningOpened durumunda.

İletişim nesnesi veya ClosingClosed durumunda.

İletişim nesnesi bir Faulted durumda.

Örnekler

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()

Açıklamalar

ServiceHostBase yalnızca örneği ChannelDispatcherCreated durumunda olduğunda ayrılabilir, çünkü bu hem değiştirilebilir hem de atılmayan tek durumdur.

ServiceHostBase Kanal dağıtıcısıyla ilişkili öğesini olarak nullayarlar.

Şunlara uygulanır