ChannelDispatcher.Detach(ServiceHostBase) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
チャネル ディスパッチャーからサービス ホストの結び付きを解除します。
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)
パラメーター
- host
- ServiceHostBase
サービスの ServiceHostBase。
例外
host
が null
です。
host
はチャネル ディスパッチャーのホストではありません。
- または -
通信オブジェクトは、Faulted 状態にあります。
例
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()
注釈
ServiceHostBase は、ChannelDispatcher のインスタンスが Created 状態のときにのみ切断可能です。この状態が変更可能で、かつ破棄されていない唯一の状態であるためです
チャネル ディスパッチャーに関連付けられている ServiceHostBase を null
に設定します。