ChannelDispatcher.Detach(ServiceHostBase) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odpojte hostitele služby od dispečera kanálu.
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)
Parametry
- host
- ServiceHostBase
Služba ServiceHostBase je určená pro službu.
Výjimky
host
je null
.
host
není hostitelem dispečera kanálu.
-nebo-
Komunikační objekt je ve Opening stavu nebo Opened ve stavu.
Komunikační objekt je ve Faulted stavu.
Příklady
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()
Poznámky
Lze ServiceHostBase ji odpojit pouze v případě, že je instance ChannelDispatcher ve Created stavu, protože je to jediný stav, který je jak proměnlivý, tak nelikvidovaný.
ServiceHostBase Nastaví přidruženou k dispečeru kanálu na null
.