IInteractiveChannelInitializer Gränssnitt

Definition

Definierar de metoder som gör det möjligt för ett klientprogram att visa ett användargränssnitt för att samla in identitetsinformation innan kanalen skapas.

public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
Härledda

Kommentarer

IInteractiveChannelInitializer Implementera gränssnittet för att göra det möjligt för ett klientprogram att visa ett användargränssnitt som gör att användaren av programmet kan skapa eller välja autentiseringsuppgifterna innan en kanal öppnas.

IInteractiveChannelInitializerImplementera genom att utföra följande steg i IInteractiveChannelInitializer.BeginDisplayInitializationUI:

  1. Fråga användaren och hämta en lämplig System.Net.NetworkCredential.

  2. Lägg till ett anpassat kanalparameterobjekt i samlingen som returneras av IChannel.GetProperty -metoden på IClientChannel objektet med en typparameter av System.ServiceModel.Channels.ChannelParameterCollection. Det här kanalparameterobjektet används av det anpassade System.ServiceModel.ClientCredentialsSecurityTokenManager objektet för att upprätta säkerhetstoken för kanalen.

  3. Återvända.

IInteractiveChannelInitializerInfoga :

  1. Åsidosätt IEndpointBehavior.ApplyClientBehavior metoden för System.ServiceModel.Description.ClientCredentials klassen.

  2. I den metoden avgör du om slutpunkten kräver en IInteractiveChannelInitializer och i så fall lägger du till i IInteractiveChannelInitializerClientRuntime.InteractiveChannelInitializers samlingen.

Det finns två sätt för programutvecklare att använda en infogad IInteractiveChannelInitializer. Klientprogrammet kan anropa antingen ClientBase<TChannel>.DisplayInitializationUI eller IClientChannel.DisplayInitializationUI (eller en asynkron version) innan du öppnar kanalen (den explicita metoden) eller anropa den första åtgärden ( implicit metod).

Om du använder den implicita metoden måste programmet anropa den första åtgärden för en ClientBase<TChannel> eller IClientChannel ett tillägg. Om det anropar något annat än den första operationen utlöses ett undantag.

Om du använder den explicita metoden måste programmet utföra följande steg i ordning:

  1. Anropa antingen ClientBase<TChannel>.DisplayInitializationUI eller IClientChannel.DisplayInitializationUI (eller en asynkron version).

  2. När initierarna har returnerats anropar du antingen Open metoden på IClientChannel-objektet eller på objektet IClientChannel som returneras från ClientBase<TChannel>.InnerChannel egenskapen.

  3. Anropsåtgärder.

Vi rekommenderar att program av produktionskvalitet styr användargränssnittsprocessen genom att använda den explicita metoden.

Program som använder den implicita metoden anropar initierarna för användargränssnittet, men om användaren av programmet inte svarar inom tidsgränsen för bindningen utlöses ett undantag när användargränssnittet returneras.

Metoder

Name Description
BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object)

Ett asynkront anrop för att börja använda ett användargränssnitt för att hämta information om autentiseringsuppgifter.

EndDisplayInitializationUI(IAsyncResult)

Anropas när har slutförts BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) .

Gäller för