ServiceHostBase.OnClose(TimeSpan) メソッド

定義

ホストされるサービスを、チャネル ディスパッチャー、関連付けられたインスタンス コンテキスト、およびリスナーを含めて終了します。Closes down the hosted service, including their channel dispatchers and associated instance contexts and listeners.

protected:
 override void OnClose(TimeSpan timeout);
protected override void OnClose (TimeSpan timeout);
override this.OnClose : TimeSpan -> unit
Protected Overrides Sub OnClose (timeout As TimeSpan)

パラメーター

timeout
TimeSpan

終了時の操作がタイム アウトまでに完了する必要がある時間を指定する TimeSpanThe TimeSpan that specifies how long the on-close operation has to complete before timing out.

注釈

を呼び出す OnClose(TimeSpan) と、次のことが行われます。Calling OnClose(TimeSpan) does the following:

  • に対するすべての入力を閉じ ChannelDispatcher 、関連付けられているインスタンスも閉じます IChannelListenerCloses all input to ChannelDispatcher, which also closes their associated IChannelListener instances. この結果、すべての新しいチャネルの受け入れは停止されます。This stops any new channels from being accepting.

  • CloseInputは、すべてのオブジェクトに対して InstanceContext を呼び出します。これは、新しいメッセージの受け入れを停止することを意味します。Calls CloseInput on all InstanceContext objects, which mean they stop accepting new messages.

  • すべてのオブジェクトが閉じられるのを待機し InstanceContext ます。これは、関連するチャネルがすべての保留中のメッセージの送信を終了したときに発生します。Waits for all InstanceContext objects to close down, which happens when their associated channels finish sending all pending messages.

  • ChannelDispatcherホストに関連付けられているオブジェクトを閉じます。Closes the ChannelDispatcher objects associated with the host.

適用対象