Windows Communication Foundation (WCF) のプログラミング モデルを維持しながら、一方でシステムが提供するランタイムは置き換えようとする開発者は、このクラスを使用します。このようなアプリケーションでは、チャネルからメッセージを取得し、ユーザー定義のディスパッチャでメッセージを直接処理します。ChannelDispatcherBase を使用するには、このクラスから派生するクラスを作成し、ServiceHost を拡張し、InitializeRuntime をオーバーライドして、ChannelDispatcherBase から派生するユーザー独自のクラスのインスタンスを ChannelDispatchers に追加します。
ChannelDispatcherBase オブジェクトと関連付けられた IChannelListener および ServiceHost はそれぞれ、Listener および Host を通して、検査または変更を行うために使用できます。
ChannelDispatchers コレクションに ChannelDispatcherBase 項目を追加するとき、またはコレクションから項目を削除するときに、ServiceHost は Attach メソッドまたは Detach メソッドを呼び出します。
シャットダウンのとき、ServiceHost は、InstanceContexts を閉じる前に CloseInput を呼び出します。Windows Communication Foundation (WCF) は、この呼び出しを使用して、データグラム チャネルを閉じ、すべてのメッセージが InstanceContext に到着するのを待ちます。