다음을 통해 공유


WebChannelFactory<TChannel> 클래스

정의

클라이언트에서 WCF(Windows Communication Foundation)에 액세스하기 위한 클래스입니다.

generic <typename TChannel>
 where TChannel : classpublic ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
generic <typename TChannel>
public ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel> where TChannel : class
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel>
type WebChannelFactory<'Channel (requires 'Channel : null)> = class
    inherit ChannelFactory<'Channel (requires 'Channel : null)>
type WebChannelFactory<'Channel> = class
    inherit ChannelFactory<'Channel>
Public Class WebChannelFactory(Of TChannel)
Inherits ChannelFactory(Of TChannel)

형식 매개 변수

TChannel

생성할 채널의 형식입니다.

상속

예제

다음 코드에서는 클래스를 사용하여 WebChannelFactory<TChannel> WCF 서비스를 호출하는 방법을 보여줍니다.

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();

    WebChannelFactory<IService> cf = new WebChannelFactory<IService>(baseAddress);
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);

    Console.WriteLine("");

    Console.WriteLine("Calling EchoWithPost via HTTP POST: ");
    s = channel.EchoWithPost("Hello, world");
    Console.WriteLine("   Output: {0}", s);

    Console.WriteLine("");
}
catch (CommunicationException ex)
{
    Console.WriteLine("An exception occurred: " + ex.Message);
}
Dim baseAddress As New Uri("http://localhost:8000")
Dim host As New WebServiceHost(GetType(Service), baseAddress)
Try
    host.Open()

    Dim cf As New WebChannelFactory(Of IService)(baseAddress)
    Dim channel As IService = cf.CreateChannel()
    Dim s As String

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ")
    s = channel.EchoWithGet("Hello, world")
    Console.WriteLine("   Output:  0}", s)

    Console.WriteLine("")

    Console.WriteLine("Calling EchoWithPost via HTTP POST: ")
    s = channel.EchoWithPost("Hello, world")
    Console.WriteLine("   Output:  0}", s)

    Console.WriteLine("")

Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

전체 코드 예제는 기본 WCF REST 프로그래밍 모델 샘플을 참조하세요.

설명

이 클래스는 엔드포인트가 아직 없는 경우 자동으로 엔드포인트에 추가하는 WebHttpBehavior 특수 ChannelFactory 클래스입니다. 또한 바인딩이 명시적으로 구성되지 않고 주소가 HTTP 또는 HTTPS 주소인 경우 엔드포인트에 기본값 WebHttpBinding 을 추가합니다.

계약의 모든 작업에 반환 값이 없거나 형식 StreamWebChannelFactory<TChannel> 의 반환 값이 있는 경우 적절한 콘텐츠 형식에 대한 바인딩을 구성합니다.

생성자

WebChannelFactory<TChannel>()

WebChannelFactory<TChannel> 클래스의 새 인스턴스를 초기화합니다.

WebChannelFactory<TChannel>(Binding)

WebChannelFactory<TChannel> 클래스의 새 인스턴스를 초기화합니다.

WebChannelFactory<TChannel>(Binding, Uri)

지정된 바인딩 및 WebChannelFactory<TChannel>를 사용하여 Uri 클래스의 새 인스턴스를 초기화합니다.

WebChannelFactory<TChannel>(ServiceEndpoint)

WebChannelFactory<TChannel> 클래스의 새 인스턴스를 초기화합니다.

WebChannelFactory<TChannel>(String)

WebChannelFactory<TChannel> 클래스의 새 인스턴스를 초기화합니다.

WebChannelFactory<TChannel>(String, Uri)

지정된 엔드포인트 구성 및 WebChannelFactory<TChannel>를 사용하여 Uri 클래스의 새 인스턴스를 초기화합니다.

WebChannelFactory<TChannel>(Type)

WebChannelFactory<TChannel> 클래스의 새 인스턴스를 초기화합니다.

WebChannelFactory<TChannel>(Uri)

지정된 WebChannelFactory<TChannel>를 사용하여 Uri 클래스의 새 인스턴스를 초기화합니다.

속성

Credentials

팩터리에서 생성한 채널을 통해 클라이언트가 서비스 엔드포인트와 통신할 때 사용하는 자격 증명을 가져옵니다.

(다음에서 상속됨 ChannelFactory)
DefaultCloseTimeout

닫기 작업을 완료하기 위해 제공되는 기본 시간 간격을 가져옵니다.

(다음에서 상속됨 ChannelFactory)
DefaultOpenTimeout

열기 작업을 완료하기 위해 제공되는 기본 시간 간격을 가져옵니다.

(다음에서 상속됨 ChannelFactory)
Endpoint

팩터리에서 만든 채널이 연결되는 서비스 엔드포인트를 가져옵니다.

(다음에서 상속됨 ChannelFactory)
IsDisposed

통신 개체가 삭제되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 CommunicationObject)
State

통신 개체의 현재 상태를 나타내는 값을 가져옵니다.

(다음에서 상속됨 CommunicationObject)
ThisLock

상태 전환 중에 클래스 인스턴스를 보호하는 상호 배타적인 전용 잠금을 가져옵니다.

(다음에서 상속됨 CommunicationObject)

메서드

Abort()

통신 개체가 현재 상태에서 Closing 상태로 즉시 전환되도록 합니다.

(다음에서 상속됨 CommunicationObject)
ApplyConfiguration(String)

지정된 구성 파일에서 제공한 동작 및 채널 팩터리의 서비스 엔드포인트에 있는 동작을 통해 채널 팩터리를 초기화합니다.

(다음에서 상속됨 ChannelFactory)
BeginClose(AsyncCallback, Object)

통신 개체를 닫기 위한 비동기 작업을 시작합니다.

(다음에서 상속됨 CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

지정된 제한 시간 내에서 통신 개체를 닫기 위한 비동기 작업을 시작합니다.

(다음에서 상속됨 CommunicationObject)
BeginOpen(AsyncCallback, Object)

통신 개체를 열기 위한 비동기 작업을 시작합니다.

(다음에서 상속됨 CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

지정된 시간 간격 내에서 통신 개체를 열기 위한 비동기 작업을 시작합니다.

(다음에서 상속됨 CommunicationObject)
Close()

통신 개체가 현재 상태에서 Closed 상태로 전환되도록 합니다.

(다음에서 상속됨 CommunicationObject)
Close(TimeSpan)

통신 개체가 지정된 시간 간격 내에 현재 상태에서 Closed 상태로 전환되도록 합니다.

(다음에서 상속됨 CommunicationObject)
CreateChannel()

지정된 엔드포인트 주소에 대해 지정된 형식의 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannel(EndpointAddress)

지정된 엔드포인트 주소에서 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannel(EndpointAddress, Uri)

지정된 전송 주소를 통해 특정 엔드포인트 주소에서 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken)

Act As 보안 토큰을 사용하여 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken, EndpointAddress)

지정된 엔드포인트 주소에서 보안 토큰을 사용하여 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken, EndpointAddress, Uri)

지정된 전송 주소를 통해 특정 엔드포인트 주소에서 보안 토큰으로 사용할 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken)

발급된 보안 토큰을 사용하여 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress)

지정된 엔드포인트 주소에서 발행된 보안 토큰을 사용하여 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress, Uri)

지정된 전송 주소를 통해 특정 엔드포인트 주소에서 발행된 보안 토큰으로 사용할 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken)

On Behalf Of 보안 토큰을 사용하여 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress)

지정된 엔드포인트 주소에서 On Behalf Of 보안 토큰을 사용하여 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress, Uri)

지정된 전송 주소를 통해 특정 엔드포인트 주소에서 보안 토큰으로 사용할 서비스에 메시지를 보내는 데 사용되는 채널을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateDescription()

서비스 엔드포인트에 대한 설명을 만듭니다.

(다음에서 상속됨 ChannelFactory<TChannel>)
CreateFactory()

팩터리의 현재 엔드포인트에 대해 채널 팩터리를 생성합니다.

(다음에서 상속됨 ChannelFactory)
EndClose(IAsyncResult)

통신 개체를 닫기 위한 비동기 작업을 완료합니다.

(다음에서 상속됨 CommunicationObject)
EndOpen(IAsyncResult)

통신 개체를 열기 위한 비동기 작업을 완료합니다.

(다음에서 상속됨 CommunicationObject)
EnsureOpened()

현재 채널 팩터리가 아직 열리지 않은 경우 이를 엽니다.

(다음에서 상속됨 ChannelFactory)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
Fault()

통신 개체가 현재 상태에서 Faulted 상태로 전환되도록 합니다.

(다음에서 상속됨 CommunicationObject)
GetCommunicationObjectType()

통신 개체의 형식을 가져옵니다.

(다음에서 상속됨 CommunicationObject)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetProperty<T>()

요청한 형식의 개체가 있으면 채널 스택의 해당 계층에서 그 개체를 반환하고, 개체가 없으면 null을 반환합니다.

(다음에서 상속됨 ChannelFactory)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
InitializeEndpoint(Binding, EndpointAddress)

지정된 바인딩 및 주소를 사용하여 채널 팩터리의 서비스 엔드포인트를 초기화합니다.

(다음에서 상속됨 ChannelFactory)
InitializeEndpoint(ServiceEndpoint)

지정된 엔드포인트를 사용하여 채널 팩터리의 서비스 엔드포인트를 초기화합니다.

(다음에서 상속됨 ChannelFactory)
InitializeEndpoint(String, EndpointAddress)

지정된 주소 및 구성을 사용하여 채널 팩터리의 서비스 엔드포인트를 초기화합니다.

(다음에서 상속됨 ChannelFactory)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
OnAbort()

현재 채널 팩터리의 내부 채널 팩터리를 종료합니다.

(다음에서 상속됨 ChannelFactory)
OnBeginClose(TimeSpan, AsyncCallback, Object)

연결된 상태 개체가 있는 현재 채널 팩터리의 내부 채널 팩터리에서 비동기 닫기 작업을 시작합니다.

(다음에서 상속됨 ChannelFactory)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

연결된 상태 개체가 있는 현재 채널 팩터리의 내부 채널 팩터리에서 비동기 열기 작업을 시작합니다.

(다음에서 상속됨 ChannelFactory)
OnClose(TimeSpan)

작업 완료를 위해 지정된 시간 제한을 사용하여 내부 채널 팩터리에 대한 닫기를 호출합니다.

(다음에서 상속됨 ChannelFactory)
OnClosed()

통신 개체가 Closing 상태로 전환되는 중에 호출됩니다.

(다음에서 상속됨 CommunicationObject)
OnClosing()

통신 개체가 Closing 상태로 전환되는 중에 호출됩니다.

(다음에서 상속됨 CommunicationObject)
OnEndClose(IAsyncResult)

현재 채널 팩터리의 내부 채널 팩터리에 대한 비동기 닫기 작업을 완료합니다.

(다음에서 상속됨 ChannelFactory)
OnEndOpen(IAsyncResult)

현재 채널 팩터리의 내부 채널 팩터리에 대한 비동기 열기 작업을 완료합니다.

(다음에서 상속됨 ChannelFactory)
OnFaulted()

통신 개체가 동기 오류 작업의 호출로 인해 Faulted 상태로 전환된 후 해당 통신 개체에 대한 처리를 삽입합니다.

(다음에서 상속됨 CommunicationObject)
OnOpen(TimeSpan)

작업 완료를 위해 지정된 시간 제한을 사용하여 현재 채널 팩터리의 내부 채널 팩터리에 대한 열기를 호출합니다.

(다음에서 상속됨 ChannelFactory)
OnOpened()

채널 팩터리에 대한 ClientCredentials 개체의 읽기 전용 복사본을 초기화합니다.

(다음에서 상속됨 ChannelFactory)
OnOpening()

이 메서드는 WebChannelFactory<TChannel>이 열릴 때 호출됩니다.

Open()

통신 개체가 Created 상태에서 Opened 상태로 전환되도록 합니다.

(다음에서 상속됨 CommunicationObject)
Open(TimeSpan)

통신 개체가 지정된 시간 간격 내에 Created 상태에서 Opened 상태로 전환되도록 합니다.

(다음에서 상속됨 CommunicationObject)
ThrowIfDisposed()

통신 개체가 삭제되면 예외를 throw합니다.

(다음에서 상속됨 CommunicationObject)
ThrowIfDisposedOrImmutable()

통신 개체의 State 속성이 Created 상태로 설정되지 않은 경우 예외를 throw합니다.

(다음에서 상속됨 CommunicationObject)
ThrowIfDisposedOrNotOpen()

통신 개체가 Opened 상태가 아니면 예외를 throw합니다.

(다음에서 상속됨 CommunicationObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

이벤트

Closed

통신 개체가 Closed 상태로 전환될 때 발생합니다.

(다음에서 상속됨 CommunicationObject)
Closing

통신 개체가 Closing 상태로 전환될 때 발생합니다.

(다음에서 상속됨 CommunicationObject)
Faulted

통신 개체가 Faulted 상태로 전환될 때 발생합니다.

(다음에서 상속됨 CommunicationObject)
Opened

통신 개체가 Opened 상태로 전환될 때 발생합니다.

(다음에서 상속됨 CommunicationObject)
Opening

통신 개체가 Opening 상태로 전환될 때 발생합니다.

(다음에서 상속됨 CommunicationObject)

명시적 인터페이스 구현

IDisposable.Dispose()

현재 채널 팩터리를 닫습니다.

(다음에서 상속됨 ChannelFactory)

적용 대상