Sdílet prostřednictvím


IInteractiveChannelInitializer Rozhraní

Definice

Definuje metody, které klientské aplikaci umožňují zobrazit uživatelské rozhraní pro shromažďování informací o identitě před vytvořením kanálu.

public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
Odvozené

Poznámky

IInteractiveChannelInitializer Implementujte rozhraní, které umožňuje klientské aplikaci zobrazit uživatelské rozhraní, které uživateli aplikace umožňuje vytvořit nebo vybrat přihlašovací údaje před otevřením kanálu.

K implementaci IInteractiveChannelInitializerproveďte následující kroky:IInteractiveChannelInitializer.BeginDisplayInitializationUI

  1. Vyzvat uživatele a získat odpovídající System.Net.NetworkCredential.

  2. Přidejte objekt parametru vlastního kanálu do kolekce vrácené IChannel.GetProperty metodou objektu IClientChannel s typem parametru .System.ServiceModel.Channels.ChannelParameterCollection Tento objekt parametru kanálu se používá vlastní System.ServiceModel.ClientCredentialsSecurityTokenManager k vytvoření tokenů zabezpečení kanálu.

  3. Vrátit.

IInteractiveChannelInitializerVložení:

  1. Přepište metodu IEndpointBehavior.ApplyClientBehavior třídy System.ServiceModel.Description.ClientCredentials .

  2. V této metodě určete, jestli koncový bod vyžaduje IInteractiveChannelInitializer , a pokud ano, přidejte ho IInteractiveChannelInitializer ClientRuntime.InteractiveChannelInitializers do kolekce.

Existují dva způsoby, jak můžou vývojáři aplikací využít vložený IInteractiveChannelInitializer. Klientská aplikace může volat buď ClientBase<TChannel>.DisplayInitializationUI nebo IClientChannel.DisplayInitializationUI (nebo asynchronní verzi) před otevřením kanálu ( explicitní přístup), nebo jednoduše volat první operaci ( implicitní přístup).

Pokud používáte implicitní přístup, musí aplikace volat první operaci u nebo ClientBase<TChannel> IClientChannel rozšíření. Pokud volá cokoli jiného než první operace, vyvolá se výjimka.

Pokud používáte explicitní přístup, musí aplikace provést následující kroky v pořadí:

  1. Volejte buď ClientBase<TChannel>.DisplayInitializationUI nebo IClientChannel.DisplayInitializationUI (nebo asynchronní verzi).

  2. Když se vrátí inicializátory, zavolejte metodu Open objektu IClientChannel nebo objektu vráceného IClientChannel ClientBase<TChannel>.InnerChannel z vlastnosti.

  3. Operace volání

Doporučuje se, aby aplikace v produkční kvalitě kontrolují proces uživatelského rozhraní tím, že přijmou explicitní přístup.

Aplikace, které používají implicitní přístup, vyvolat inicializátory uživatelského rozhraní, ale pokud uživatel aplikace nereaguje v době časového limitu odeslání vazby, vyvolá se výjimka, když se uživatelské rozhraní vrátí.

Metody

BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object)

Asynchronní volání, které začne používat uživatelské rozhraní k získání informací o přihlašovacích údaji.

EndDisplayInitializationUI(IAsyncResult)

Volá se BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) po dokončení.

Platí pro