ClientBase<TChannel> 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
또는 remoteAddress
null
.
엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.
설명
이 생성자를 사용하여 대상 서비스에 대한 콜백 계약을 구현하는 서비스 개체를 전달하고 애플리케이션 구성 파일의 엔드포인트 이름에서 대상 엔드포인트 정보를 확인합니다(대상 값은 클라이언트 <엔드포인트> 요소의 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
또는 remoteAddress
null
.
적용 대상
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
또는 remoteAddress
null
.
엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.
설명
이 생성자를 사용하여 애플리케이션 구성 파일의 엔드포인트 이름에서 대상 엔드포인트 정보(대상 값은 클라이언트 <엔드포인트> 요소의 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
또는 remoteAddress
null
.
엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.
설명
이 생성자를 사용하여 애플리케이션 구성 파일의 엔드포인트 이름에서 대상 엔드포인트 정보(대상 값은 클라이언트 <엔드포인트> 요소의 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
애플리케이션 구성 파일의 엔드포인트 이름입니다.
예외
콜백 인스턴스 또는 endpointConfigurationName
null
.
엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.
설명
이 생성자를 사용하여 대상 서비스에 대한 콜백 계약을 구현하는 서비스 개체를 전달하고 클라이언트 애플리케이션 구성 파일에서 대상 엔드포인트 정보를 확인합니다. 대상 값은 클라이언트 <엔드포인트> 요소의 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
또는 remoteAddress
null
.
엔드포인트를 찾을 수 없거나 엔드포인트 계약이 유효하지 않습니다.
설명
이 생성자를 사용하여 대상 서비스에 대한 콜백 계약을 구현하는 서비스 개체를 전달하고 애플리케이션 구성 파일의 엔드포인트 이름에서 대상 엔드포인트 정보를 확인합니다(대상 값은 클라이언트 <엔드포인트> 요소의 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
또는 remoteAddress
null
.
적용 대상
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)
지정된 InstanceContext 및 ServiceEndpoint 개체를 사용하여 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
클라이언트가 서비스를 찾아서 통신할 수 있도록 하는 서비스의 엔드포인트입니다.
적용 대상
.NET