IInteractiveChannelInitializer Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет методы, позволяющие клиентскому приложению отображать пользовательский интерфейс для сбора сведений об удостоверениях перед созданием канала.
public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
- Производный
Комментарии
IInteractiveChannelInitializer Реализуйте интерфейс, чтобы клиентское приложение отображалось в пользовательском интерфейсе, который позволяет пользователю приложения создавать или выбирать учетные данные перед открытием канала.
Чтобы реализоватьIInteractiveChannelInitializer, выполните следующие действия:IInteractiveChannelInitializer.BeginDisplayInitializationUI
Предложите пользователю и получите соответствующий System.Net.NetworkCredentialзапрос.
Добавьте объект параметра пользовательского канала в коллекцию, IChannel.GetProperty возвращаемую методом объекта IClientChannel с параметром System.ServiceModel.Channels.ChannelParameterCollectionтипа. Этот объект параметра канала используется пользовательским System.ServiceModel.ClientCredentialsSecurityTokenManager для установки маркеров безопасности для канала.
Вернуться.
Чтобы вставить IInteractiveChannelInitializer:
Переопределите IEndpointBehavior.ApplyClientBehavior метод в System.ServiceModel.Description.ClientCredentials классе.
В этом методе определите, требуется IInteractiveChannelInitializer ли конечная точка и если да, добавьте IInteractiveChannelInitializer ее в коллекцию ClientRuntime.InteractiveChannelInitializers .
Разработчики приложений могут использовать вставленное приложение IInteractiveChannelInitializerдвумя способами. Клиентское приложение может вызывать либо ClientBase<TChannel>.DisplayInitializationUI или (или IClientChannel.DisplayInitializationUI асинхронную версию), прежде чем открывать канал ( явный подход) или просто вызывать первую операцию ( неявный подход).
При использовании неявного подхода приложение должно вызвать первую операцию в ClientBase<TChannel> или IClientChannel расширении. Если он вызывает что-либо, отличное от первой операции, создается исключение.
Если используется явный подход, приложение должно выполнить следующие действия в порядке:
Позвоните либо ClientBase<TChannel>.DisplayInitializationUI, либо IClientChannel.DisplayInitializationUI (или их асинхронная версия).
При возврате инициализаторов вызовите метод либо на объекте Open, либо на объекте IClientChannel, возвращаемом из свойства IClientChannel.
Операции вызова.
Рекомендуется управлять рабочим качеством приложений процесса пользовательского интерфейса, приняв явный подход.
Приложения, использующие неявный подход, вызывают инициализаторы пользовательского интерфейса, но если пользователь приложения не отвечает в течение периода ожидания отправки привязки, исключение возникает при возврате пользовательского интерфейса.
Методы
| Имя | Описание |
|---|---|
| BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) |
Асинхронный вызов для начала использования пользовательского интерфейса для получения сведений об учетных данных. |
| EndDisplayInitializationUI(IAsyncResult) |
Вызывается после BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) завершения. |