IInteractiveChannelInitializer Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje metody umożliwiające aplikacji klienckiej wyświetlanie interfejsu użytkownika w celu zbierania informacji o tożsamości przed utworzeniem kanału.
public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
- Pochodne
Uwagi
Zaimplementuj IInteractiveChannelInitializer interfejs, aby umożliwić aplikacji klienckiej wyświetlanie interfejsu użytkownika, który umożliwia użytkownikowi aplikacji tworzenie lub wybieranie poświadczeń przed otwarciem kanału.
Aby zaimplementować IInteractiveChannelInitializermetodę , wykonaj następujące kroki w IInteractiveChannelInitializer.BeginDisplayInitializationUItemacie :
Monituj użytkownika i uzyskaj odpowiedni System.Net.NetworkCredentialelement .
Dodaj obiekt parametru kanału niestandardowego do kolekcji zwróconej przez IChannel.GetProperty metodę w IClientChannel obiekcie z parametrem System.ServiceModel.Channels.ChannelParameterCollectiontypu . Ten obiekt parametru kanału jest używany przez niestandardowy System.ServiceModel.ClientCredentialsSecurityTokenManager do ustanawiania tokenów zabezpieczających dla kanału.
Zwraca.
Aby wstawić polecenie IInteractiveChannelInitializer:
Zastąpij metodę IEndpointBehavior.ApplyClientBehavior w System.ServiceModel.Description.ClientCredentials klasie .
W tej metodzie określ, czy punkt końcowy wymaga elementu IInteractiveChannelInitializer , a jeśli tak, dodaj element IInteractiveChannelInitializer do kolekcji ClientRuntime.InteractiveChannelInitializers .
Istnieją dwa sposoby, w jaki deweloperzy aplikacji mogą korzystać z wstawionego IInteractiveChannelInitializerelementu . Aplikacja kliencka może wywołać ClientBase<TChannel>.DisplayInitializationUI wersję asynchroniczną lub IClientChannel.DisplayInitializationUI (lub asynchroniczną) przed otwarciem kanału ( podejście jawne ) lub po prostu wywołać pierwszą operację ( podejście niejawne ).
W przypadku korzystania z niejawnego podejścia aplikacja musi wywołać pierwszą operację ClientBase<TChannel> na rozszerzeniu lub IClientChannel . Jeśli wywołuje coś innego niż pierwsza operacja, zgłaszany jest wyjątek.
Jeśli używasz jawnego podejścia, aplikacja musi wykonać następujące kroki w następującej kolejności:
ClientBase<TChannel>.DisplayInitializationUI Wywołaj wersję asynchroniczną lub IClientChannel.DisplayInitializationUI lub (lub asynchroniczną).
Po powrocie inicjatorów wywołaj metodę Open obiektu IClientChannel lub IClientChannel obiekt zwrócony z ClientBase<TChannel>.InnerChannel właściwości .
Operacje wywoływania.
Zaleca się, aby aplikacje jakości produkcyjnej kontrolować proces interfejsu użytkownika, stosując jawne podejście.
Aplikacje korzystające z niejawnego podejścia wywołują inicjatory interfejsu użytkownika, ale jeśli użytkownik aplikacji nie odpowie w okresie limitu czasu wysyłania powiązania, zgłaszany jest wyjątek, gdy interfejs użytkownika zwraca.
Metody
BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) |
Wywołanie asynchroniczne, aby rozpocząć korzystanie z interfejsu użytkownika w celu uzyskania informacji o poświadczeniach. |
EndDisplayInitializationUI(IAsyncResult) |
Wywoływane po zakończeniu BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) . |