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) |
Инициализирует новый экземпляр класса ClientBase<TChannel>, используя информацию о конфигурации, указанную в файле конфигурации приложения с помощью параметра |
ClientBase<TChannel>(InstanceContext) |
Инициализирует новый экземпляр класса ClientBase<TChannel>, используя параметр |
ClientBase<TChannel>(ServiceEndpoint) |
Инициализирует новый экземпляр класса ClientBase<TChannel> с использованием указанного объекта ServiceEndpoint. |
ClientBase<TChannel>(InstanceContext, ServiceEndpoint) |
Выполняет инициализацию нового экземпляра класса ClientBase<TChannel>, используя указанные объекты InstanceContext и ServiceEndpoint. |
Комментарии
Используйте для создания клиентского объекта WCF на основе сведений о конечной точке в файле конфигурации приложения. Основная функция конструктора — создание фабрики System.ServiceModel.ChannelFactory<TChannel>, в которой параметр типа является типом целевого контракта службы.
ClientBase<TChannel>()
- Исходный код:
- ClientBase.cs
- Исходный код:
- ClientBase.cs
- Исходный код:
- ClientBase.cs
Инициализирует новый экземпляр класса ClientBase<TChannel>, используя целевую конечную точку по умолчанию из файла конфигурации приложения.
protected:
ClientBase();
protected ClientBase ();
Protected Sub New ()
Исключения
Информация о конечной точке по умолчанию в файле конфигурации отсутствует, в файле конфигурации несколько конечных точек, или файл конфигурации отсутствует.
Примеры
В следующем примере кода показано, как клиент использует этот конструктор в классе SampleServiceClient
, расширяющем класс ClientBase<TChannel>.
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)
- Исходный код:
- ClientBase.cs
- Исходный код:
- ClientBase.cs
- Исходный код:
- 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)
- Исходный код:
- ClientBase.cs
- Исходный код:
- 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)
- Исходный код:
- ClientBase.cs
- Исходный код:
- 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)
- Исходный код:
- ClientBase.cs
- Исходный код:
- ClientBase.cs
- Исходный код:
- 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)
- Исходный код:
- ClientBase.cs
- Исходный код:
- ClientBase.cs
Инициализирует новый экземпляр класса ClientBase<TChannel>, используя информацию о конфигурации, указанную в файле конфигурации приложения с помощью параметра endpointConfigurationName
.
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)
Инициализирует новый экземпляр класса ClientBase<TChannel>, используя параметр callbackInstance
в качестве объекта обратного вызова в дуплексном диалоге.
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)
- Исходный код:
- ClientBase.cs
- Исходный код:
- ClientBase.cs
- Исходный код:
- ClientBase.cs
Инициализирует новый экземпляр класса ClientBase<TChannel> с использованием указанного объекта ServiceEndpoint.
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)
Выполняет инициализацию нового экземпляра класса ClientBase<TChannel>, используя указанные объекты InstanceContext и ServiceEndpoint.
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
Конечная точка для службы, которая позволяет клиентам выполнять поиск и обмен данными со службой.