IInteractiveChannelInitializer Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Vyzvat uživatele a získat odpovídající System.Net.NetworkCredential.
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.
Vrátit.
IInteractiveChannelInitializerVložení:
Přepište metodu IEndpointBehavior.ApplyClientBehavior třídy System.ServiceModel.Description.ClientCredentials .
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í:
Volejte buď ClientBase<TChannel>.DisplayInitializationUI nebo IClientChannel.DisplayInitializationUI (nebo asynchronní verzi).
Když se vrátí inicializátory, zavolejte metodu Open objektu IClientChannel nebo objektu vráceného IClientChannel ClientBase<TChannel>.InnerChannel z vlastnosti.
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í. |