ClientBase<TChannel> 클래스

정의

서비스를 호출할 수 있는 WCF(Windows Communication Foundation) 클라이언트 개체를 만들 때 사용되는 기본 구현을 제공합니다.Provides the base implementation used to create Windows Communication Foundation (WCF) client objects that can call services.

generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : IDisposable, System::ServiceModel::ICommunicationObject
public abstract class ClientBase<TChannel> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject, IDisposable

형식 매개 변수

TChannel

서비스에 연결할 때 사용할 채널입니다.The channel to be used to connect to the service.

상속
ClientBase<TChannel>
파생
구현

예제

다음 코드 예제에서는 하는 방법을 ServiceModel Metadata 유틸리티 도구 (Svcutil.exe) 확장 된 ClientBase<TChannel> WCF 클라이언트 클래스를 만드는 클래스입니다.The following code example shows how the ServiceModel Metadata Utility Tool (Svcutil.exe) extends the ClientBase<TChannel> class to create a WCF client class.

public partial class SampleServiceClient : System.ServiceModel.ClientBase<ISampleService>, ISampleService
{
    
    public SampleServiceClient()
    {
    }
    
    public SampleServiceClient(string endpointConfigurationName) : 
            base(endpointConfigurationName)
    {
    }
    
    public SampleServiceClient(string endpointConfigurationName, string remoteAddress) : 
            base(endpointConfigurationName, remoteAddress)
    {
    }
    
    public SampleServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(endpointConfigurationName, remoteAddress)
    {
    }
    
    public SampleServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(binding, remoteAddress)
    {
    }
    
    public string SampleMethod(string msg)
    {
        return base.Channel.SampleMethod(msg);
    }
}
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")> _
Partial Public Class SampleServiceClient
    Inherits System.ServiceModel.ClientBase(Of ISampleService)
    Implements ISampleService

    Public Sub New()
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String)
        MyBase.New(endpointConfigurationName)
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String)
        MyBase.New(endpointConfigurationName, remoteAddress)
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String, _
                   ByVal remoteAddress As System.ServiceModel.EndpointAddress)
        MyBase.New(endpointConfigurationName, remoteAddress)
    End Sub

    Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, _
                   ByVal remoteAddress As System.ServiceModel.EndpointAddress)
        MyBase.New(binding, remoteAddress)
    End Sub

    Public Function SampleMethod(ByVal msg As String) As String Implements ISampleService.SampleMethod
        Return MyBase.Channel.SampleMethod(msg)
    End Function
End Class

설명

확장을 ClientBase<TChannel> 클래스는 서비스에 연결할 수 있는 사용자 지정 WCF 클라이언트 개체를 만듭니다.Extend the ClientBase<TChannel> class to create a custom WCF client object that can be used to connect to a service. 일반적으로 WCF 클라이언트 기본 클래스에 의해 확장 된 도구와 같은 합니다 ServiceModel Metadata 유틸리티 도구 (Svcutil.exe) 귀하를 대신해 합니다.Typically, the WCF client base class is extended by a tool such as the ServiceModel Metadata Utility Tool (Svcutil.exe) on your behalf. 예제를 보려면 예제 단원을 참조하십시오.For an example, see the Example section.

ClientBase<TChannel> 클래스는 인터페이스와 System.ServiceModel.ChannelFactory<TChannel> 클래스를 사용하는 것보다 개체를 선호하는 개발자가 빠르고 손쉽게 사용할 수 있습니다.The ClientBase<TChannel> class can be used quickly and easily by developers who prefer objects to the use of the interfaces and the System.ServiceModel.ChannelFactory<TChannel> class. 이 클래스는 어떤 경우에도 System.ServiceModel.ChannelFactory<TChannel> 클래스 및 System.ServiceModel.IClientChannel 인터페이스의 메서드와 기능을 래핑하거나 노출합니다.In all cases this class wraps or exposes the methods and functionality of the System.ServiceModel.ChannelFactory<TChannel> class and the System.ServiceModel.IClientChannel interface.

System.ServiceModel.ServiceHost 클래스를 사용할 때와 마찬가지로, 임의의 호출을 수행하거나 Open을 호출하기 전에 클래스를 만들고 엔드포인트, 채널 팩터리 또는 보안 정보를 수정할 수 있습니다.As when using the System.ServiceModel.ServiceHost class, you can create the class and modify the endpoint, channel factory, or security information prior to making any calls or calling Open. 자세한 내용은 WCF Client Overview 하 고 WCF 클라이언트를 사용 하 여 액세스 서비스합니다.For more information, see WCF Client Overview and Accessing Services Using a WCF Client.

이 클래스에서 파생된 Managed C++ 사용자 관련 참고 사항:Special note for Managed C++ users deriving from this class:

  • 소멸자가 아니라 (On)(Begin)Close 및/또는 OnAbort에 정리 코드를 입력하십시오.Put your clean-up code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • 소멸자를 사용하지 마십시오. 소멸자를 사용하면 컴파일러에서 IDisposable을 자동으로 생성할 수 있습니다.Avoid destructors: they cause the compiler to auto-generate IDisposable.

  • 비참조 멤버를 사용하지 마십시오. 비참조 멤버를 사용하면 컴파일러에서 IDisposable을 자동으로 생성할 수 있습니다.Avoid non-reference members: they can cause the compiler to auto-generate IDisposable.

  • 종료자를 사용하지 마십시오. 그러나 종료자를 포함하는 경우 자동으로 생성되는 SuppressFinalize(Object) 동작을 에뮬레이트하기 위해 빌드 경고를 표시하지 않고 (On)(Begin)Close 및/또는 OnAbort에서 IDisposable 및 해당 종료자를 호출해야 합니다.Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated IDisposable behavior.

생성자

ClientBase<TChannel>()

애플리케이션 구성 파일의 기본 대상 엔드포인트를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class using the default target endpoint from the application configuration file.

ClientBase<TChannel>(Binding, EndpointAddress)

지정된 바인딩 및 대상 주소를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class using the specified binding and target address.

ClientBase<TChannel>(InstanceContext)

ClientBase<TChannel>를 이중 대화의 콜백 개체로 사용하여 callbackInstance 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class using the callbackInstance as the callback object in a duplex conversation.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

지정된 ClientBase<TChannel>InstanceContext 개체를 사용하여 ServiceEndpoint 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class using the specified InstanceContext and ServiceEndpoint objects.

ClientBase<TChannel>(InstanceContext, String)

지정된 콜백 서비스 및 엔드포인트 구성 정보를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class using the specified callback service and endpoint configuration information.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class.

ClientBase<TChannel>(InstanceContext, String, String)

ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class.

ClientBase<TChannel>(ServiceEndpoint)

지정된 ClientBase<TChannel>를 사용하여 ServiceEndpoint 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class using the specified ServiceEndpoint.

ClientBase<TChannel>(String)

애플리케이션 구성 파일에서 ClientBase<TChannel>에 의해 지정된 구성 정보를 사용하여 endpointConfigurationName 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class using the configuration information specified in the application configuration file by endpointConfigurationName.

ClientBase<TChannel>(String, EndpointAddress)

지정된 대상 주소 및 엔드포인트 정보를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class using the specified target address and endpoint information.

ClientBase<TChannel>(String, String)

ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClientBase<TChannel> class.

속성

CacheSetting

캐시 설정을 가져오거나 설정합니다.Gets or sets the cache setting.

Channel

다양하게 구성된 서비스 엔드포인트로 메시지를 보내는 데 사용되는 내부 채널을 가져옵니다.Gets the inner channel used to send messages to variously configured service endpoints.

ChannelFactory

내부 ChannelFactory<TChannel> 개체를 가져옵니다.Gets the underlying ChannelFactory<TChannel> object.

ClientCredentials

작업 호출에 사용되는 클라이언트 자격 증명을 가져옵니다.Gets the client credentials used to call an operation.

Endpoint

WCF 클라이언트가 연결할 수 있는 서비스의 대상 엔드포인트를 가져옵니다.Gets the target endpoint for the service to which the WCF client can connect.

InnerChannel

내부 IClientChannel 구현을 가져옵니다.Gets the underlying IClientChannel implementation.

State

ClientBase<TChannel> 개체의 현재 상태를 가져옵니다.Gets the current state of the ClientBase<TChannel> object.

메서드

Abort()

ClientBase<TChannel> 개체가 즉시 현재 상태에서 Closed 상태로 전환되도록 합니다.Causes the ClientBase<TChannel> object to transition immediately from its current state into the closed state.

Close()

ClientBase<TChannel> 개체가 현재 상태에서 Closed 상태로 전환되도록 합니다.Causes the ClientBase<TChannel> object to transition from its current state into the closed state.

CreateChannel()

서비스에 대한 새 채널을 반환합니다.Returns a new channel to the service.

DisplayInitializationUI()

채널을 초기화하는 데 사용자 인터페이스가 필요한 경우 채널을 사용하기 전에 내부 채널이 사용자 인터페이스를 표시하도록 합니다.Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

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

C#에서 기본 키워드의 동작을 복제합니다.Replicates the behavior of the default keyword in C#.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

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

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object)

이벤트 기반 비동기 패턴을 구현하도록 지원합니다.Provides support for implementing the event-based asynchronous pattern. 이 패턴에 대한 자세한 내용은 이벤트 기반 비동기 패턴 개요를 참조하세요.For more information about this pattern, see Event-based Asynchronous Pattern Overview.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

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

ClientBase<TChannel> 개체가 Created 상태에서 Opened 상태로 전환되도록 합니다.Causes the ClientBase<TChannel> object to transition from the created state into the opened state.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

ICommunicationObject.BeginClose(AsyncCallback, Object)

ClientBase<TChannel>를 닫기 위한 비동기 작업을 시작합니다.Begins an asynchronous operation to close the ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

지정된 시간 제한 내에 ClientBase<TChannel>를 닫기 위한 비동기 작업을 시작합니다.Begins an asynchronous operation to close the ClientBase<TChannel> with a specified timeout.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

ClientBase<TChannel> 개체를 열기 위한 비동기 작업을 시작합니다.Begins an asynchronous operation to open the ClientBase<TChannel> object.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

지정된 시간 간격 내에 ClientBase<TChannel> 개체를 열기 위한 비동기 작업을 시작합니다.Begins an asynchronous operation to open the ClientBase<TChannel> object within a specified interval of time.

ICommunicationObject.Close()
ICommunicationObject.Close(TimeSpan)

ClientBase<TChannel> 개체가 현재 상태에서 Closed 상태로 전환되도록 합니다.Causes the ClientBase<TChannel> object to transition from its current state into the closed state.

ICommunicationObject.Closed

ClientBase<TChannel> 개체가 현재 상태에서 Closed 상태로 전환되었을 때 호출되는 이벤트 처리기입니다.The event handler that is invoked when the ClientBase<TChannel> object has transitioned from its current state to the closed state.

ICommunicationObject.Closing

ClientBase<TChannel> 개체가 현재 상태에서 Closed 상태로 전환될 때 호출되는 이벤트 처리기입니다.The event handler that is invoked when the ClientBase<TChannel> object transitions from its current state to the closed state.

ICommunicationObject.EndClose(IAsyncResult)

ClientBase<TChannel> 개체를 닫기 위한 비동기 작업을 완료합니다.Completes an asynchronous operation to close the ClientBase<TChannel> object.

ICommunicationObject.EndOpen(IAsyncResult)

ClientBase<TChannel> 개체를 열기 위한 비동기 작업을 완료합니다.Completes an asynchronous operation to open the ClientBase<TChannel> object.

ICommunicationObject.Faulted

ClientBase<TChannel> 개체에 대해 작업을 수행하는 도중 오류가 발생하면 호출되는 이벤트 처리기입니다.The event handler that is invoked when a fault occurs while performing an operation on the ClientBase<TChannel> object.

ICommunicationObject.Open()
ICommunicationObject.Open(TimeSpan)

ClientBase<TChannel> 개체가 지정된 시간 간격 내에 Created 상태에서 Opened 상태로 전환되도록 합니다.Causes the ClientBase<TChannel> object to transition from the created state into the opened state within a specified interval of time.

ICommunicationObject.Opened

ClientBase<TChannel> 개체가 Created 상태에서 Opened 상태로 전환될 때 호출되는 이벤트 처리기입니다.The event handler that is invoked when the ClientBase<TChannel> object transitions from the created state to the opened state.

ICommunicationObject.Opening

ClientBase<TChannel> 개체가 Created 상태에서 Opened 상태로 전환될 때 호출되는 이벤트 처리기입니다.The event handler that is invoked when the ClientBase<TChannel> object transitions from the created state to the opened state.

IDisposable.Dispose()

Dispose() 메서드의 명시적 구현입니다.Explicit implementation of the Dispose() method.

적용 대상