ClientBase<TChannel> Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет базовую реализацию, используемую для создания клиентских объектов Windows Communication Foundation (WCF), которые могут вызывать службы.
generic <typename TChannel>
where TChannel : classpublic ref class ClientBase abstract : System::ServiceModel::ICommunicationObject
generic <typename TChannel>
where TChannel : classpublic ref class ClientBase abstract : IAsyncDisposable, IDisposable, System::ServiceModel::ICommunicationObject
generic <typename TChannel>
where TChannel : classpublic ref class ClientBase abstract : IDisposable, System::ServiceModel::ICommunicationObject
public abstract class ClientBase<TChannel> : System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : IAsyncDisposable, IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
interface ICommunicationObject
type ClientBase<'Channel (requires 'Channel : null)> = class
interface IDisposable
interface ICommunicationObject
interface IAsyncDisposable
type ClientBase<'Channel (requires 'Channel : null)> = class
interface ICommunicationObject
interface IDisposable
type ClientBase<'Channel (requires 'Channel : null)> = class
interface IDisposable
interface ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements IAsyncDisposable, ICommunicationObject, IDisposable
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject, IDisposable
Параметры типа
- TChannel
Канал, используемый для подключения к службе.
- Наследование
-
ClientBase<TChannel>
- Производный
- Реализации
Примеры
В следующем примере кода показано, как средство служебной программы метаданных ServiceModel (Svcutil.exe) расширяет ClientBase<TChannel> класс для создания клиентского класса WCF.
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, который можно использовать для подключения к службе. Как правило, базовый класс WCF расширяется средством, таким как средство служебной программы метаданных ServiceModel (Svcutil.exe) от вашего имени. Пример см. в разделе "Пример".
Класс ClientBase<TChannel> можно использовать быстро и легко разработчиками, которые предпочитают объекты для использования интерфейсов и System.ServiceModel.ChannelFactory<TChannel> класса. Во всех случаях этот класс упаковывает или предоставляет методы и функциональные возможности System.ServiceModel.ChannelFactory<TChannel> класса и System.ServiceModel.IClientChannel интерфейса.
Как и при использовании System.ServiceModel.ServiceHost класса, можно создать класс и изменить конечную точку, фабрику каналов или сведения о безопасности перед вызовом или вызовом Open. Дополнительные сведения см. в обзоре клиента WCF и доступе к службам с помощью клиента WCF.
Специальное примечание для пользователей Managed C++, производных от этого класса:
- Поместите код очистки в (On)(Begin)Close (and/or OnAbort), а не в деструктор.
- Избегайте деструкторов: они вызывают автоматическое создание IDisposableкомпилятором.
- Избегайте элементов без ссылок: они могут привести к автоматическому созданию IDisposableкомпилятора.
- Избегайте завершения; но если включить его, следует отключить предупреждение и вызов SuppressFinalize(Object) сборки и вызвать и завершить работу из (On)(Begin)Close (and/or OnAbort), чтобы эмулировать то, что было бы автоматически создано IDisposable .
Конструкторы
| Имя | Описание |
|---|---|
| ClientBase<TChannel>() |
Инициализирует новый экземпляр класса с помощью целевой конечной ClientBase<TChannel> точки по умолчанию из файла конфигурации приложения. |
| ClientBase<TChannel>(Binding, EndpointAddress) |
Инициализирует новый экземпляр класса с помощью указанной привязки и целевого ClientBase<TChannel> адреса. |
| ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) |
Инициализирует новый экземпляр класса ClientBase<TChannel>. |
| ClientBase<TChannel>(InstanceContext, ServiceEndpoint) |
Инициализирует новый экземпляр класса с помощью указанных ClientBase<TChannel>InstanceContext и ServiceEndpoint объектов. |
| ClientBase<TChannel>(InstanceContext, String, EndpointAddress) |
Инициализирует новый экземпляр класса ClientBase<TChannel>. |
| ClientBase<TChannel>(InstanceContext, String, String) |
Инициализирует новый экземпляр класса ClientBase<TChannel>. |
| ClientBase<TChannel>(InstanceContext, String) |
Инициализирует новый экземпляр класса с помощью указанных сведений о конфигурации службы обратного ClientBase<TChannel> вызова и конечной точки. |
| ClientBase<TChannel>(InstanceContext) |
Инициализирует новый экземпляр класса с помощью ClientBase<TChannel> объекта обратного |
| ClientBase<TChannel>(ServiceEndpoint) |
Инициализирует новый экземпляр класса с помощью указанного ClientBase<TChannel>ServiceEndpoint. |
| ClientBase<TChannel>(String, EndpointAddress) |
Инициализирует новый экземпляр класса с помощью указанного целевого адреса и сведений о конечной ClientBase<TChannel> точке. |
| ClientBase<TChannel>(String, String) |
Инициализирует новый экземпляр класса ClientBase<TChannel>. |
| ClientBase<TChannel>(String) |
Инициализирует новый экземпляр класса с помощью сведений ClientBase<TChannel> о конфигурации, указанных в файле |
Свойства
| Имя | Описание |
|---|---|
| CacheSetting |
Возвращает или задает параметр кэша. |
| Channel |
Возвращает внутренний канал, используемый для отправки сообщений в различные настроенные конечные точки службы. |
| ChannelFactory |
Возвращает базовый ChannelFactory<TChannel> объект. |
| ClientCredentials |
Возвращает учетные данные клиента, используемые для вызова операции. |
| Endpoint |
Возвращает целевую конечную точку для службы, к которой может подключиться клиент WCF. |
| InnerChannel |
Возвращает базовую IClientChannel реализацию. |
| State |
Возвращает текущее состояние ClientBase<TChannel> объекта. |
Методы
| Имя | Описание |
|---|---|
| Abort() |
Вызывает ClientBase<TChannel> переход объекта немедленно из текущего состояния в закрытое состояние. |
| Close() |
Вызывает ClientBase<TChannel> переход объекта из текущего состояния в закрытое состояние. |
| CloseAsync() |
Предоставляет базовую реализацию, используемую для создания клиентских объектов Windows Communication Foundation (WCF), которые могут вызывать службы. |
| CreateChannel() |
Возвращает новый канал в службу. |
| DisplayInitializationUI() |
Указывает внутреннему каналу отображать пользовательский интерфейс, если он необходим для инициализации канала перед его использованием. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetDefaultValueForInitialization<T>() |
Реплицирует поведение ключевого слова по умолчанию в C#. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object) |
Предоставляет поддержку реализации асинхронного шаблона на основе событий. Дополнительные сведения об этом шаблоне см. в обзоре асинхронного шаблона на основе событий. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Open() |
Вызывает ClientBase<TChannel> переход объекта из созданного состояния в открытое состояние. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IAsyncDisposable.DisposeAsync() |
Предоставляет базовую реализацию, используемую для создания клиентских объектов Windows Communication Foundation (WCF), которые могут вызывать службы. |
| ICommunicationObject.BeginClose(AsyncCallback, Object) |
Начинает асинхронную операцию закрытия ClientBase<TChannel>. |
| ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) |
Начинает асинхронную операцию, чтобы закрыть ClientBase<TChannel> указанное время ожидания. |
| ICommunicationObject.BeginOpen(AsyncCallback, Object) |
Начинает асинхронную операцию для открытия ClientBase<TChannel> объекта. |
| ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) |
Начинает асинхронную операцию открытия ClientBase<TChannel> объекта в течение указанного интервала времени. |
| ICommunicationObject.Close() |
Вызывает переход объекта связи из текущего состояния в закрытое состояние. |
| ICommunicationObject.Close(TimeSpan) |
Вызывает ClientBase<TChannel> переход объекта из текущего состояния в закрытое состояние. |
| ICommunicationObject.Closed |
Обработчик событий, вызываемый при ClientBase<TChannel> переходе объекта из текущего состояния в закрытое состояние. |
| ICommunicationObject.Closing |
Обработчик событий, который вызывается при ClientBase<TChannel> переходе объекта из текущего состояния в закрытое состояние. |
| ICommunicationObject.EndClose(IAsyncResult) |
Завершает асинхронную операцию, чтобы закрыть ClientBase<TChannel> объект. |
| ICommunicationObject.EndOpen(IAsyncResult) |
Завершает асинхронную операцию, чтобы открыть ClientBase<TChannel> объект. |
| ICommunicationObject.Faulted |
Обработчик событий, вызываемый при возникновении сбоя при выполнении операции в объекте ClientBase<TChannel> . |
| ICommunicationObject.Open() |
Вызывает переход объекта связи из созданного состояния в открытое состояние. |
| ICommunicationObject.Open(TimeSpan) |
Вызывает ClientBase<TChannel> переход объекта из созданного состояния в открытое состояние в течение указанного интервала времени. |
| ICommunicationObject.Opened |
Обработчик событий, который вызывается при ClientBase<TChannel> переходе объекта из созданного состояния в открытое состояние. |
| ICommunicationObject.Opening |
Обработчик событий, который вызывается при ClientBase<TChannel> переходе объекта из созданного состояния в открытое состояние. |
| IDisposable.Dispose() |
Явная реализация Dispose() метода. |