다음을 통해 공유


ClientBase<TChannel> 생성자

정의

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

오버로드

ClientBase<TChannel>()

애플리케이션 구성 파일의 기본 대상 엔드포인트를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.

ClientBase<TChannel>(InstanceContext, String, String)

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

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

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

ClientBase<TChannel>(String, String)

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

ClientBase<TChannel>(String, EndpointAddress)

지정된 대상 주소 및 엔드포인트 정보를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.

ClientBase<TChannel>(InstanceContext, String)

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

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

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

ClientBase<TChannel>(Binding, EndpointAddress)

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

ClientBase<TChannel>(String)

endpointConfigurationName애플리케이션 구성 파일에 지정된 구성 정보를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.

ClientBase<TChannel>(InstanceContext)

callbackInstance 이중 대화에서 콜백 개체로 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.

ClientBase<TChannel>(ServiceEndpoint)

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

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

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

설명

애플리케이션 구성 파일의 엔드포인트 정보에서 WCF 클라이언트 개체를 만드는 데 사용합니다. 생성자의 주요 함수는 형식 매개 변수가 대상 서비스 계약의 형식인 System.ServiceModel.ChannelFactory<TChannel> 만드는 것입니다.

ClientBase<TChannel>()

Source:
ClientBase.cs
Source:
ClientBase.cs
Source:
ClientBase.cs

애플리케이션 구성 파일의 기본 대상 엔드포인트를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.

protected:
 ClientBase();
protected ClientBase ();
Protected Sub New ()

예외

구성 파일에 기본 엔드포인트 정보가 없거나, 파일에 둘 이상의 엔드포인트가 없거나, 구성 파일이 없습니다.

예제

다음 코드 예제에서는 클라이언트가 ClientBase<TChannel> 클래스를 확장 하는 SampleServiceClient 클래스에서이 생성자를 사용 하는 방법을 보여 줍니다.

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;

public class Client
{
  public static void Main()
  {
    // Picks up configuration from the config file.
    SampleServiceClient wcfClient = new SampleServiceClient();
    try
    {
        // Making calls.
        Console.WriteLine("Enter the greeting to send: ");
        string greeting = Console.ReadLine();
        Console.WriteLine("The service responded: " + wcfClient.SampleMethod(greeting));

        Console.WriteLine("Press ENTER to exit:");
        Console.ReadLine();

        // Done with service.
        wcfClient.Close();
        Console.WriteLine("Done!");
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      wcfClient.Abort();
      Console.Read();
    }
    catch(CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message);
      wcfClient.Abort();
      Console.Read();
    }
  }
}


Imports System.ServiceModel
Imports System.ServiceModel.Channels

Public Class Client
  Public Shared Sub Main()
    ' Picks up configuration from the config file.
    Dim wcfClient As New SampleServiceClient()
    Try
        ' Making calls.
        Console.WriteLine("Enter the greeting to send: ")
            Dim greeting = Console.ReadLine()
        Console.WriteLine("The service responded: " & wcfClient.SampleMethod(greeting))

        Console.WriteLine("Press ENTER to exit:")
        Console.ReadLine()

        ' Done with service. 
        wcfClient.Close()
        Console.WriteLine("Done!")
    Catch timeProblem As TimeoutException
      Console.WriteLine("The service operation timed out. " & timeProblem.Message)
      wcfClient.Abort()
      Console.Read()
    Catch commProblem As CommunicationException
      Console.WriteLine("There was a communication problem. " & commProblem.Message)
      wcfClient.Abort()
      Console.Read()
    End Try
  End Sub
End Class

설명

이 생성자를 사용하여 서비스를 호출하는 WCF 클라이언트 개체를 만듭니다. 이 생성자는 형식 매개 변수를 대상 계약으로 사용하고 애플리케이션 구성 파일의 바인딩 및 주소 정보를 사용합니다.

적용 대상

ClientBase<TChannel>(InstanceContext, String, String)

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

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::String ^ endpointConfigurationName, System::String ^ remoteAddress);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, string endpointConfigurationName, string remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * string * string -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, endpointConfigurationName As String, remoteAddress As String)

매개 변수

callbackInstance
InstanceContext

클라이언트가 연결된 서비스에서 메시지를 수신 대기하는 데 사용하는 콜백 개체입니다.

endpointConfigurationName
String

애플리케이션 구성 파일의 엔드포인트 이름입니다.

remoteAddress
String

서비스의 주소입니다.

예외

콜백 인스턴스, endpointConfigurationName또는 remoteAddressnull.

엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.

설명

이 생성자를 사용하여 대상 서비스에 대한 콜백 계약을 구현하는 서비스 개체를 전달하고 애플리케이션 구성 파일의 엔드포인트 이름에서 대상 엔드포인트 정보를 확인합니다(대상 값은 클라이언트 <엔드포인트> 요소의 name 특성을 찾아서 배치됨) 및 지정된 주소를 확인합니다.

추가 정보

적용 대상

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Source:
ClientBase.cs
Source:
ClientBase.cs
Source:
ClientBase.cs

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

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::ServiceModel::Channels::Binding ^ binding, System::ServiceModel::EndpointAddress ^ remoteAddress);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * System.ServiceModel.Channels.Binding * System.ServiceModel.EndpointAddress -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, binding As Binding, remoteAddress As EndpointAddress)

매개 변수

callbackInstance
InstanceContext

콜백 서비스입니다.

binding
Binding

서비스를 호출할 바인딩입니다.

remoteAddress
EndpointAddress

서비스 엔드포인트의 주소입니다.

예외

콜백 인스턴스, binding또는 remoteAddressnull.

적용 대상

ClientBase<TChannel>(String, String)

Source:
ClientBase.cs
Source:
ClientBase.cs

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

protected:
 ClientBase(System::String ^ endpointConfigurationName, System::String ^ remoteAddress);
protected ClientBase (string endpointConfigurationName, string remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : string * string -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (endpointConfigurationName As String, remoteAddress As String)

매개 변수

endpointConfigurationName
String

애플리케이션 구성 파일의 엔드포인트 이름입니다.

remoteAddress
String

서비스의 주소입니다.

예외

endpointConfigurationName 또는 remoteAddressnull.

엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.

설명

이 생성자를 사용하여 애플리케이션 구성 파일의 엔드포인트 이름에서 대상 엔드포인트 정보(대상 값은 클라이언트 <엔드포인트> 요소의 name 특성을 찾아서 배치됨) 및 지정된 주소를 확인합니다.

추가 정보

적용 대상

ClientBase<TChannel>(String, EndpointAddress)

Source:
ClientBase.cs
Source:
ClientBase.cs

지정된 대상 주소 및 엔드포인트 정보를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.

protected:
 ClientBase(System::String ^ endpointConfigurationName, System::ServiceModel::EndpointAddress ^ remoteAddress);
protected ClientBase (string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : string * System.ServiceModel.EndpointAddress -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (endpointConfigurationName As String, remoteAddress As EndpointAddress)

매개 변수

endpointConfigurationName
String

애플리케이션 구성 파일의 엔드포인트 이름입니다.

remoteAddress
EndpointAddress

서비스의 주소입니다.

예외

endpointConfigurationName 또는 remoteAddressnull.

엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.

설명

이 생성자를 사용하여 애플리케이션 구성 파일의 엔드포인트 이름에서 대상 엔드포인트 정보(대상 값은 클라이언트 <엔드포인트> 요소의 name 특성을 찾아서 배치됨) 및 지정된 주소를 확인합니다.

적용 대상

ClientBase<TChannel>(InstanceContext, String)

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

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::String ^ endpointConfigurationName);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, string endpointConfigurationName);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * string -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, endpointConfigurationName As String)

매개 변수

callbackInstance
InstanceContext

클라이언트가 연결된 서비스에서 메시지를 수신 대기하는 데 사용하는 콜백 개체입니다.

endpointConfigurationName
String

애플리케이션 구성 파일의 엔드포인트 이름입니다.

예외

콜백 인스턴스 또는 endpointConfigurationNamenull.

엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.

설명

이 생성자를 사용하여 대상 서비스에 대한 콜백 계약을 구현하는 서비스 개체를 전달하고 클라이언트 애플리케이션 구성 파일에서 대상 엔드포인트 정보를 확인합니다. 대상 값은 클라이언트 <엔드포인트> 요소의 name 특성을 찾아서 찾습니다.

적용 대상

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

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

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::String ^ endpointConfigurationName, System::ServiceModel::EndpointAddress ^ remoteAddress);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * string * System.ServiceModel.EndpointAddress -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, endpointConfigurationName As String, remoteAddress As EndpointAddress)

매개 변수

callbackInstance
InstanceContext

클라이언트가 연결된 서비스에서 메시지를 수신 대기하는 데 사용하는 콜백 개체입니다.

endpointConfigurationName
String

애플리케이션 구성 파일의 엔드포인트 이름입니다.

remoteAddress
EndpointAddress

서비스의 주소입니다.

예외

콜백 인스턴스, endpointConfigurationName또는 remoteAddressnull.

엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.

설명

이 생성자를 사용하여 대상 서비스에 대한 콜백 계약을 구현하는 서비스 개체를 전달하고 애플리케이션 구성 파일의 엔드포인트 이름에서 대상 엔드포인트 정보를 확인합니다(대상 값은 클라이언트 <엔드포인트> 요소의 name 특성을 찾아서 배치됨) 및 지정된 주소를 확인합니다.

추가 정보

적용 대상

ClientBase<TChannel>(Binding, EndpointAddress)

Source:
ClientBase.cs
Source:
ClientBase.cs
Source:
ClientBase.cs

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

protected:
 ClientBase(System::ServiceModel::Channels::Binding ^ binding, System::ServiceModel::EndpointAddress ^ remoteAddress);
protected ClientBase (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.Channels.Binding * System.ServiceModel.EndpointAddress -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (binding As Binding, remoteAddress As EndpointAddress)

매개 변수

binding
Binding

서비스를 호출할 바인딩입니다.

remoteAddress
EndpointAddress

서비스 엔드포인트의 주소입니다.

예외

binding 또는 remoteAddressnull.

적용 대상

ClientBase<TChannel>(String)

Source:
ClientBase.cs
Source:
ClientBase.cs

endpointConfigurationName애플리케이션 구성 파일에 지정된 구성 정보를 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.

protected:
 ClientBase(System::String ^ endpointConfigurationName);
protected ClientBase (string endpointConfigurationName);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : string -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (endpointConfigurationName As String)

매개 변수

endpointConfigurationName
String

애플리케이션 구성 파일의 엔드포인트 이름입니다.

예외

지정된 엔드포인트 정보가 null.

엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.

설명

애플리케이션 구성 파일에 둘 이상의 대상 엔드포인트가 있는 경우 이 생성자를 사용합니다. 이 값은 클라이언트 <엔드포인트> 요소의 name 특성입니다.

적용 대상

ClientBase<TChannel>(InstanceContext)

callbackInstance 이중 대화에서 콜백 개체로 사용하여 ClientBase<TChannel> 클래스의 새 인스턴스를 초기화합니다.

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext)

매개 변수

callbackInstance
InstanceContext

클라이언트 애플리케이션이 연결된 서비스의 메시지를 수신 대기하는 데 사용하는 콜백 개체입니다.

예외

콜백 인스턴스가 null.

구성 파일에 기본 엔드포인트 정보가 없거나, 파일에 둘 이상의 엔드포인트가 없거나, 구성 파일이 없습니다.

예제

다음 코드 예제에서는 이 생성자를 SampleDuplexHelloClient 클래스와 함께 사용하여 서비스에서 메시지를 수신 대기하는 콜백 개체를 전달하는 방법을 보여 줍니다.

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Threading;

namespace Microsoft.WCF.Documentation
{
  [CallbackBehaviorAttribute(
   IncludeExceptionDetailInFaults= true,
    UseSynchronizationContext=true,
    ValidateMustUnderstand=true
  )]
  public class Client : SampleDuplexHelloCallback
  {
    AutoResetEvent waitHandle;

    public Client()
    {
      waitHandle = new AutoResetEvent(false);
    }

    public void Run()
    {
      // Picks up configuration from the configuration file.
      SampleDuplexHelloClient wcfClient
        = new SampleDuplexHelloClient(new InstanceContext(this), "WSDualHttpBinding_SampleDuplexHello");
      try
      {
        Console.ForegroundColor = ConsoleColor.White;
        Console.WriteLine("Enter a greeting to send and press ENTER: ");
        Console.Write(">>> ");
        Console.ForegroundColor = ConsoleColor.Green;
        string greeting = Console.ReadLine();
        Console.ForegroundColor = ConsoleColor.White;
        Console.WriteLine("Called service with: \r\n\t" + greeting);
        wcfClient.Hello(greeting);
        Console.WriteLine("Execution passes service call and moves to the WaitHandle.");
        this.waitHandle.WaitOne();
        Console.ForegroundColor = ConsoleColor.Blue;
        Console.WriteLine("Set was called.");
        Console.Write("Press ");
        Console.ForegroundColor = ConsoleColor.Red;
        Console.Write("ENTER");
        Console.ForegroundColor = ConsoleColor.Blue;
        Console.Write(" to exit...");
        Console.ReadLine();
      }
      catch (TimeoutException timeProblem)
      {
        Console.WriteLine("The service operation timed out. " + timeProblem.Message);
        Console.ReadLine();
      }
      catch (CommunicationException commProblem)
      {
        Console.WriteLine("There was a communication problem. " + commProblem.Message);
        Console.ReadLine();
      }
    }
    public static void Main()
    {
      Client client = new Client();
      client.Run();
    }

    public void Reply(string response)
    {
      Console.WriteLine("Received output.");
      Console.WriteLine("\r\n\t" + response);
      this.waitHandle.Set();
    }
  }
}

Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports System.Threading

Namespace Microsoft.WCF.Documentation
  <CallbackBehaviorAttribute(IncludeExceptionDetailInFaults:= True, UseSynchronizationContext:=True, ValidateMustUnderstand:=True)> _
  Public Class Client
      Implements SampleDuplexHelloCallback
    Private waitHandle As AutoResetEvent

    Public Sub New()
      waitHandle = New AutoResetEvent(False)
    End Sub

    Public Sub Run()
      ' Picks up configuration from the configuration file.
      Dim wcfClient As New SampleDuplexHelloClient(New InstanceContext(Me), "WSDualHttpBinding_SampleDuplexHello")
      Try
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Enter a greeting to send and press ENTER: ")
        Console.Write(">>> ")
        Console.ForegroundColor = ConsoleColor.Green
        Dim greeting As String = Console.ReadLine()
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Called service with: " & Constants.vbCrLf & Constants.vbTab & greeting)
        wcfClient.Hello(greeting)
        Console.WriteLine("Execution passes service call and moves to the WaitHandle.")
        Me.waitHandle.WaitOne()
        Console.ForegroundColor = ConsoleColor.Blue
        Console.WriteLine("Set was called.")
        Console.Write("Press ")
        Console.ForegroundColor = ConsoleColor.Red
        Console.Write("ENTER")
        Console.ForegroundColor = ConsoleColor.Blue
        Console.Write(" to exit...")
        Console.ReadLine()
      Catch timeProblem As TimeoutException
        Console.WriteLine("The service operation timed out. " & timeProblem.Message)
        Console.ReadLine()
      Catch commProblem As CommunicationException
        Console.WriteLine("There was a communication problem. " & commProblem.Message)
        Console.ReadLine()
      End Try
    End Sub
    Public Shared Sub Main()
      Dim client As New Client()
      client.Run()
    End Sub

    Public Sub Reply(ByVal response As String) Implements SampleDuplexHelloCallback.Reply
      Console.WriteLine("Received output.")
      Console.WriteLine(Constants.vbCrLf & Constants.vbTab & response)
      Me.waitHandle.Set()
    End Sub
  End Class
End Namespace

설명

서비스 계약에 콜백 서비스 인스턴스가 필요한 경우 이 생성자를 사용합니다. 대상 엔드포인트는 애플리케이션 구성 파일의 형식 매개 변수 및 정보에서 생성됩니다.

추가 정보

적용 대상

ClientBase<TChannel>(ServiceEndpoint)

Source:
ClientBase.cs
Source:
ClientBase.cs
Source:
ClientBase.cs

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

protected:
 ClientBase(System::ServiceModel::Description::ServiceEndpoint ^ endpoint);
protected ClientBase (System.ServiceModel.Description.ServiceEndpoint endpoint);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.Description.ServiceEndpoint -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (endpoint As ServiceEndpoint)

매개 변수

endpoint
ServiceEndpoint

클라이언트가 서비스를 찾아서 통신할 수 있도록 하는 서비스의 엔드포인트입니다.

적용 대상

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

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

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::ServiceModel::Description::ServiceEndpoint ^ endpoint);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, System.ServiceModel.Description.ServiceEndpoint endpoint);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * System.ServiceModel.Description.ServiceEndpoint -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, endpoint As ServiceEndpoint)

매개 변수

callbackInstance
InstanceContext

클라이언트 애플리케이션이 연결된 서비스의 메시지를 수신 대기하는 데 사용하는 콜백 개체입니다.

endpoint
ServiceEndpoint

클라이언트가 서비스를 찾아서 통신할 수 있도록 하는 서비스의 엔드포인트입니다.

적용 대상