IInteractiveChannelInitializer Интерфейс

Определение

Определяет методы, позволяющие клиентскому приложению отображать пользовательский интерфейс для сбора сведений об удостоверениях перед созданием канала.

public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
Производный

Комментарии

IInteractiveChannelInitializer Реализуйте интерфейс, чтобы клиентское приложение отображалось в пользовательском интерфейсе, который позволяет пользователю приложения создавать или выбирать учетные данные перед открытием канала.

Чтобы реализоватьIInteractiveChannelInitializer, выполните следующие действия:IInteractiveChannelInitializer.BeginDisplayInitializationUI

  1. Предложите пользователю и получите соответствующий System.Net.NetworkCredentialзапрос.

  2. Добавьте объект параметра пользовательского канала в коллекцию, IChannel.GetProperty возвращаемую методом объекта IClientChannel с параметром System.ServiceModel.Channels.ChannelParameterCollectionтипа. Этот объект параметра канала используется пользовательским System.ServiceModel.ClientCredentialsSecurityTokenManager для установки маркеров безопасности для канала.

  3. Вернуться.

Чтобы вставить IInteractiveChannelInitializer:

  1. Переопределите IEndpointBehavior.ApplyClientBehavior метод в System.ServiceModel.Description.ClientCredentials классе.

  2. В этом методе определите, требуется IInteractiveChannelInitializer ли конечная точка и если да, добавьте IInteractiveChannelInitializer ее в коллекцию ClientRuntime.InteractiveChannelInitializers .

Разработчики приложений могут использовать вставленное приложение IInteractiveChannelInitializerдвумя способами. Клиентское приложение может вызывать либо ClientBase<TChannel>.DisplayInitializationUI или (или IClientChannel.DisplayInitializationUI асинхронную версию), прежде чем открывать канал ( явный подход) или просто вызывать первую операцию ( неявный подход).

При использовании неявного подхода приложение должно вызвать первую операцию в ClientBase<TChannel> или IClientChannel расширении. Если он вызывает что-либо, отличное от первой операции, создается исключение.

Если используется явный подход, приложение должно выполнить следующие действия в порядке:

  1. Позвоните либо ClientBase<TChannel>.DisplayInitializationUI, либо IClientChannel.DisplayInitializationUI (или их асинхронная версия).

  2. При возврате инициализаторов вызовите метод либо на объекте Open, либо на объекте IClientChannel, возвращаемом из свойства IClientChannel.

  3. Операции вызова.

Рекомендуется управлять рабочим качеством приложений процесса пользовательского интерфейса, приняв явный подход.

Приложения, использующие неявный подход, вызывают инициализаторы пользовательского интерфейса, но если пользователь приложения не отвечает в течение периода ожидания отправки привязки, исключение возникает при возврате пользовательского интерфейса.

Методы

Имя Описание
BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object)

Асинхронный вызов для начала использования пользовательского интерфейса для получения сведений об учетных данных.

EndDisplayInitializationUI(IAsyncResult)

Вызывается после BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) завершения.

Применяется к