IInteractiveChannelInitializer Interface

Definitie

Definieert de methoden waarmee een clienttoepassing een gebruikersinterface kan weergeven om identiteitsgegevens te verzamelen voordat het kanaal wordt gemaakt.

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

Opmerkingen

Implementeer de IInteractiveChannelInitializer interface om een clienttoepassing in staat te stellen een gebruikersinterface weer te geven waarmee de gebruiker van de toepassing de referenties kan maken of selecteren voordat u een kanaal opent.

Voer de volgende stappen uit om IInteractiveChannelInitializer.BeginDisplayInitializationUIte implementerenIInteractiveChannelInitializer:

  1. Vraag de gebruiker om een geschikte System.Net.NetworkCredentialgebruiker te verkrijgen.

  2. Voeg een aangepast kanaalparameterobject toe aan de verzameling die wordt geretourneerd door de IChannel.GetProperty methode op het IClientChannel object met een typeparameter van System.ServiceModel.Channels.ChannelParameterCollection. Dit kanaalparameterobject wordt door de aangepaste System.ServiceModel.ClientCredentialsSecurityTokenManager parameter gebruikt om de beveiligingstokens voor het kanaal tot stand te brengen.

  3. Terug.

IInteractiveChannelInitializerInvoegen:

  1. Overschrijf de IEndpointBehavior.ApplyClientBehavior methode in de System.ServiceModel.Description.ClientCredentials klasse.

  2. Bepaal in die methode of voor het eindpunt een IInteractiveChannelInitializer en indien nodig is, de IInteractiveChannelInitializer verzameling moet worden ClientRuntime.InteractiveChannelInitializers toegevoegd.

Ontwikkelaars van toepassingen kunnen op twee manieren gebruikmaken van een ingevoegde IInteractiveChannelInitializertoepassing. De clienttoepassing kan een of IClientChannel.DisplayInitializationUI (of een asynchrone versie) aanroepen voordat het kanaal wordt geopend (de expliciete benadering) of gewoon de eerste bewerking aanroepen ClientBase<TChannel>.DisplayInitializationUI (de impliciete benadering).

Als u de impliciete benadering gebruikt, moet de toepassing de eerste bewerking voor een ClientBase<TChannel> of IClientChannel extensie aanroepen. Als er iets anders wordt aanroepen dan de eerste bewerking, wordt er een uitzondering gegenereerd.

Als u de expliciete benadering gebruikt, moet de toepassing de volgende stappen in de volgende volgorde uitvoeren:

  1. Roep ClientBase<TChannel>.DisplayInitializationUI of IClientChannel.DisplayInitializationUI aan (of een asynchrone versie ervan).

  2. Wanneer de initialisatiefuncties zijn geretourneerd, roept u de Open methode voor het IClientChannel object aan of op het IClientChannel object dat wordt geretourneerd vanuit de ClientBase<TChannel>.InnerChannel eigenschap.

  3. Telefoonoperaties.

Het wordt aanbevolen om toepassingen van productiekwaliteit te controleren op het gebruikersinterfaceproces door gebruik te maken van de expliciete benadering.

Toepassingen die gebruikmaken van de impliciete benadering roepen de initialisatieprogramma's van de gebruikersinterface aan, maar als de gebruiker van de toepassing niet reageert binnen de time-outperiode voor verzenden van de binding, wordt er een uitzondering gegenereerd wanneer de gebruikersinterface wordt geretourneerd.

Methoden

Name Description
BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object)

Een asynchrone aanroep om een gebruikersinterface te gebruiken om referentiegegevens te verkrijgen.

EndDisplayInitializationUI(IAsyncResult)

Wordt aangeroepen wanneer de machine BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) klaar is.

Van toepassing op