IInteractiveChannelInitializer Interfaccia

Definizione

Definisce i metodi che consentono a un'applicazione client di visualizzare un'interfaccia utente per raccogliere informazioni di identità prima di creare il canale.Defines the methods that enable a client application to display a user interface to collect identity information prior to creating the channel.

public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
Derivato

Commenti

Implementare l'interfaccia IInteractiveChannelInitializer per consentire a un'applicazione client di visualizzare un'interfaccia utente che consente all'utente dell'applicazione di creare o selezionare le credenziali prima di aprire un canale.Implement the IInteractiveChannelInitializer interface to enable a client application to display a user interface that enables the user of the application to create or select the credentials prior to opening a channel.

Per implementare IInteractiveChannelInitializer, attenersi ai passaggi seguenti in IInteractiveChannelInitializer.BeginDisplayInitializationUI:To implement IInteractiveChannelInitializer, perform the following steps in IInteractiveChannelInitializer.BeginDisplayInitializationUI:

  1. Richiedere e ottenere dall'utente un System.Net.NetworkCredential appropriato.Prompt the user and obtain an appropriate System.Net.NetworkCredential.

  2. Aggiungere un oggetto parametro del canale personalizzato alla raccolta restituita dal metodo IChannel.GetProperty sull'oggetto IClientChannel con un parametro di tipo System.ServiceModel.Channels.ChannelParameterCollection.Add a custom channel parameter object to the collection returned by the IChannel.GetProperty method on the IClientChannel object with a type parameter of System.ServiceModel.Channels.ChannelParameterCollection. Questo oggetto parametro del canale viene utilizzato dall'elemento System.ServiceModel.ClientCredentialsSecurityTokenManager personalizzato per stabilire i token di sicurezza per il canale.This channel parameter object is used by the custom System.ServiceModel.ClientCredentialsSecurityTokenManager to establish the security tokens for the channel.

  3. Eseguire.Return.

Per inserire IInteractiveChannelInitializer.To insert IInteractiveChannelInitializer:

  1. Eseguire l'override del metodo IEndpointBehavior.ApplyClientBehavior nella classe System.ServiceModel.Description.ClientCredentialsOverride the IEndpointBehavior.ApplyClientBehavior method on the System.ServiceModel.Description.ClientCredentials class.

  2. In quel metodo, determinare se è necessario un IInteractiveChannelInitializer all'endpoint e in quel caso, aggiungere IInteractiveChannelInitializer alla raccolta ClientRuntime.InteractiveChannelInitializers.In that method, determine whether the endpoint requires an IInteractiveChannelInitializer and if so, add the IInteractiveChannelInitializer to the ClientRuntime.InteractiveChannelInitializers collection.

Esistono due modi in cui gli sviluppatori di applicazioni possono utilizzare un IInteractiveChannelInitializer inserito.There are two ways application developers can make use of an inserted IInteractiveChannelInitializer. L'applicazione client può chiamare ClientBase<TChannel>.DisplayInitializationUI o IClientChannel.DisplayInitializationUI (o una versione asincrona) prima di aprire il canale (approccio esplicito ) o semplicemente chiamare la prima operazione (approccio implicito ).The client application can call either ClientBase<TChannel>.DisplayInitializationUI or IClientChannel.DisplayInitializationUI (or an asynchronous version) prior to opening the channel (the explicit approach) or simply call the first operation (the implicit approach).

Se si utilizza l'approccio implicito, l'applicazione deve chiamare la prima operazione su un'estensione ClientBase<TChannel> o IClientChannel.If using the implicit approach, the application must call the first operation on an ClientBase<TChannel> or IClientChannel extension. Se chiama un elemento diverso dalla prima operazione, viene generata un'eccezione.If it calls anything other than the first operation, an exception is thrown.

Se si usa l'approccio esplicito, l'applicazione deve eseguire i passaggi seguenti nell'ordine rappresentato:If using the explicit approach, the application must perform the following steps in order:

  1. Chiamare ClientBase<TChannel>.DisplayInitializationUI o IClientChannel.DisplayInitializationUI (o una versione asincrona).Call either ClientBase<TChannel>.DisplayInitializationUI or IClientChannel.DisplayInitializationUI (or an asynchronous version).

  2. Quando gli inizializzatori restituiscono un valore, chiamare il metodo Open sull'oggetto IClientChannel o sull'oggetto IClientChannel restituito dalla proprietà ClientBase<TChannel>.InnerChannel.When the initializers have returned, call either the Open method on the IClientChannel object or on the IClientChannel object returned from the ClientBase<TChannel>.InnerChannel property.

  3. Chiamare le operazioni.Call operations.

Si consiglia che le applicazioni di alta qualità controllino il processo dell'interfaccia utente adottando l'approccio esplicito.It is recommended that production-quality applications control of the user-interface process by adopting the explicit approach.

Le applicazioni che usano l'approccio implicito richiamano gli inizializzatori dell'interfaccia utente, ma se l'utente dell'applicazione non risponde entro il periodo di timeout di invio dell'associazione, viene generata un'eccezione quando viene restituita l'interfaccia utente.Applications that use the implicit approach invoke the user-interface initializers, but if the user of the application fails to respond within the send timeout period of the binding, an exception is thrown when the user interface returns.

Metodi

BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object)

Chiamata asincrona per cominciare a utilizzare un'interfaccia utente al fine di ottenere informazioni sulle credenziali.An asynchronous call to begin using a user interface to obtain credential information.

EndDisplayInitializationUI(IAsyncResult)

Elemento che viene chiamato quando il metodo BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) viene modificato.Called when the BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) has finished.

Si applica a