IInteractiveChannelInitializer インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クライアント アプリケーションがチャネルを作成する前に ID 情報を収集するためのユーザー インターフェイスを表示できるようにするメソッドを定義します。
public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
- 派生
注釈
IInteractiveChannelInitializer インターフェイスを実装し、チャネルを開く前にアプリケーションのユーザーが資格情報を作成または選択できるユーザー インターフェイスを、クライアント アプリケーションが表示できるようにします。
IInteractiveChannelInitializer を実装するには、IInteractiveChannelInitializer.BeginDisplayInitializationUI 内で次の手順を実行します。
ユーザーに入力を求めて、適切な System.Net.NetworkCredential を取得します。
IClientChannel オブジェクトに対して、System.ServiceModel.Channels.ChannelParameterCollection の型パラメーターを引数として IChannel.GetProperty メソッドを呼び出したときに返されるコレクションに、カスタムのチャネル パラメーター オブジェクトを追加します。 このチャネル パラメーター オブジェクトをカスタムの System.ServiceModel.ClientCredentialsSecurityTokenManager で使用して、チャネル用のセキュリティ トークンを確立します。
返します。
IInteractiveChannelInitializer を挿入するには :
IEndpointBehavior.ApplyClientBehavior クラスの System.ServiceModel.Description.ClientCredentials メソッドをオーバーライドします。
そのメソッドで、エンドポイントに IInteractiveChannelInitializer が必要かどうかを判定し、必要な場合は、IInteractiveChannelInitializer を ClientRuntime.InteractiveChannelInitializers コレクションに追加します。
アプリケーション開発者は、挿入された IInteractiveChannelInitializer を 2 つの方法で利用できます。 クライアント アプリケーションは、チャネルを開く前に または IClientChannel.DisplayInitializationUI (または非同期バージョン) を呼び出ClientBase<TChannel>.DisplayInitializationUIすか (明示的なアプローチ)、または単に最初の操作 (暗黙的なアプローチ) を呼び出すことができます。
暗黙的方法を使用する場合、アプリケーションは最初の操作を ClientBase<TChannel> または IClientChannel 拡張に対して呼び出す必要があります。 アプリケーションが最初の操作以外の何かを呼び出した場合、例外がスローされます。
明示的方法を使用する場合、アプリケーションで次の手順を順番に実行する必要があります。
ClientBase<TChannel>.DisplayInitializationUI または IClientChannel.DisplayInitializationUI (または非同期バージョン) を呼び出します。
初期化子が返された場合は、Open オブジェクトまたは IClientChannel プロパティで返された IClientChannel オブジェクトの ClientBase<TChannel>.InnerChannel メソッドを呼び出します。
操作を呼び出します。
製品品質のアプリケーションで、明示的方法を採用し、ユーザー インターフェイス処理を制御することをお勧めします。
暗黙的な方法を使用するアプリケーションでは、ユーザー インターフェイス初期化子が呼び出されますが、このアプリケーションのユーザーがバインディングの送信タイムアウト期間内に応答できない場合、ユーザー インターフェイスが復帰すると例外がスローされます。
メソッド
BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) |
資格情報を取得するユーザー インターフェイスの使用を開始するための非同期呼び出し。 |
EndDisplayInitializationUI(IAsyncResult) |
BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) が終了すると、呼び出されます。 |
適用対象
.NET