다음을 통해 공유


IInteractiveChannelInitializer 인터페이스

정의

클라이언트 애플리케이션에서 채널을 만들기 전에 사용자 인터페이스를 표시하여 ID 정보를 수집할 수 있게 해주는 메서드를 정의합니다.

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 확장에서 첫 번째 작업을 호출해야 합니다. 첫 번째 작업 이외의 작업을 호출하면 예외가 throw됩니다.

명시적 방법을 사용하는 경우 애플리케이션은 다음 단계를 순서대로 수행해야 합니다.

  1. 또는 (또는 비동기 버전) 중 하나를 ClientBase<TChannel>.DisplayInitializationUI IClientChannel.DisplayInitializationUI 호출합니다.

  2. 이니셜라이저가 반환되면 개체의 Open 메서드 IClientChannel 또는 속성에서 반환된 IClientChannel 개체를 ClientBase<TChannel>.InnerChannel 호출합니다.

  3. 호출 작업.

프로덕션 품질 애플리케이션에서는 명시적 방법을 사용하여 사용자 인터페이스 프로세스를 제어하는 것이 좋습니다.

암시적 방법을 사용하는 애플리케이션은 사용자 인터페이스 이니셜라이저를 호출하지만, 애플리케이션 사용자가 바인딩에 대한 전송 시간 제한 내에 응답하지 않을 경우 사용자 인터페이스가 반환될 때 예외가 throw됩니다.

메서드

BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object)

자격 증명 정보를 얻기 위해 사용자 인터페이스를 사용하여 시작할 비동기 호출입니다.

EndDisplayInitializationUI(IAsyncResult)

BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object)가 완료되면 호출됩니다.

적용 대상