WebChannelFactory<TChannel> Класс

Определение

Класс для доступа к веб-службам Windows Communication Foundation (WCF) на клиенте.

generic <typename TChannel>
 where TChannel : classpublic ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel> where TChannel : class
type WebChannelFactory<'Channel (requires 'Channel : null)> = class
    inherit ChannelFactory<'Channel (requires 'Channel : null)>
Public Class WebChannelFactory(Of TChannel)
Inherits ChannelFactory(Of TChannel)

Параметры типа

TChannel

Тип создаваемого канала.

Наследование

Примеры

В следующем коде показано, как использовать WebChannelFactory<TChannel> класс для вызова службы WCF.

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();

    WebChannelFactory<IService> cf = new WebChannelFactory<IService>(baseAddress);
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);

    Console.WriteLine("");

    Console.WriteLine("Calling EchoWithPost via HTTP POST: ");
    s = channel.EchoWithPost("Hello, world");
    Console.WriteLine("   Output: {0}", s);

    Console.WriteLine("");
}
catch (CommunicationException ex)
{
    Console.WriteLine("An exception occurred: " + ex.Message);
}
Dim baseAddress As New Uri("http://localhost:8000")
Dim host As New WebServiceHost(GetType(Service), baseAddress)
Try
    host.Open()

    Dim cf As New WebChannelFactory(Of IService)(baseAddress)
    Dim channel As IService = cf.CreateChannel()
    Dim s As String

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ")
    s = channel.EchoWithGet("Hello, world")
    Console.WriteLine("   Output:  0}", s)

    Console.WriteLine("")

    Console.WriteLine("Calling EchoWithPost via HTTP POST: ")
    s = channel.EchoWithPost("Hello, world")
    Console.WriteLine("   Output:  0}", s)

    Console.WriteLine("")

Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

Полный пример кода см. в примере модели программирования REST WCF.

Комментарии

Этот класс является специальным ChannelFactory , который автоматически добавляется в WebHttpBehavior конечную точку, если он еще не присутствует. Кроме того, он добавляет значение по умолчанию в конечную точку WebHttpBinding , если привязка не настроена явным образом, а адрес — HTTP или HTTPS-адрес.

Если все операции контракта не имеют возвращаемого значения или имеют возвращаемое значение типа Stream, то WebChannelFactory<TChannel> привязка настраивается для соответствующего типа контента.

Конструкторы

Имя Описание
WebChannelFactory<TChannel>()

Инициализирует новый экземпляр класса WebChannelFactory<TChannel>.

WebChannelFactory<TChannel>(Binding, Uri)

Инициализирует новый экземпляр WebChannelFactory<TChannel> класса с указанной привязкой и Uri.

WebChannelFactory<TChannel>(Binding)

Инициализирует новый экземпляр класса WebChannelFactory<TChannel>.

WebChannelFactory<TChannel>(ServiceEndpoint)

Инициализирует новый экземпляр класса WebChannelFactory<TChannel>.

WebChannelFactory<TChannel>(String, Uri)

Инициализирует новый экземпляр класса с указанной конфигурацией конечной WebChannelFactory<TChannel> точки и Uri.

WebChannelFactory<TChannel>(String)

Инициализирует новый экземпляр класса WebChannelFactory<TChannel>.

WebChannelFactory<TChannel>(Type)

Инициализирует новый экземпляр класса WebChannelFactory<TChannel>.

WebChannelFactory<TChannel>(Uri)

Инициализирует новый экземпляр WebChannelFactory<TChannel> класса с указанным Uri.

Свойства

Имя Описание
Credentials

Возвращает учетные данные, используемые клиентами для обмена данными конечной точки службы по каналам, созданным фабрикой.

(Унаследовано от ChannelFactory)
DefaultCloseTimeout

Возвращает интервал времени по умолчанию, предоставленный для завершения операции закрытия.

(Унаследовано от ChannelFactory)
DefaultOpenTimeout

Возвращает интервал времени по умолчанию, предоставленный для завершения открытой операции.

(Унаследовано от ChannelFactory)
Endpoint

Возвращает конечную точку службы, к которой подключаются каналы, созданные фабрикой.

(Унаследовано от ChannelFactory)
IsDisposed

Возвращает значение, указывающее, был ли удален объект связи.

(Унаследовано от CommunicationObject)
State

Возвращает значение, указывающее текущее состояние объекта связи.

(Унаследовано от CommunicationObject)
ThisLock

Получает взаимоисключающую блокировку, которая защищает экземпляр класса во время перехода состояния.

(Унаследовано от CommunicationObject)

Методы

Имя Описание
Abort()

Вызывает немедленное переход объекта связи из текущего состояния в закрывающемся состоянии.

(Унаследовано от CommunicationObject)
ApplyConfiguration(String)

Инициализирует фабрику каналов с поведением, предоставляемым указанным файлом конфигурации, и с теми, которые указаны в конечной точке службы фабрики каналов.

(Унаследовано от ChannelFactory)
BeginClose(AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи.

(Унаследовано от CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи с заданным временем ожидания.

(Унаследовано от CommunicationObject)
BeginOpen(AsyncCallback, Object)

Начинает асинхронную операцию для открытия объекта связи.

(Унаследовано от CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию открытия объекта связи в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
Close()

Вызывает переход объекта связи из текущего состояния в закрытое состояние.

(Унаследовано от CommunicationObject)
Close(TimeSpan)

Вызывает переход объекта связи из текущего состояния в закрытое состояние в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
CreateChannel()

Создает канал указанного типа в указанный адрес конечной точки.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannel(EndpointAddress, Uri)

Создает канал, который используется для отправки сообщений в службу по определенному адресу конечной точки через указанный транспортный адрес.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannel(EndpointAddress)

Создает канал, используемый для отправки сообщений в службу по определенному адресу конечной точки.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken, EndpointAddress, Uri)

Создает канал, используемый для отправки сообщений в службу с помощью маркера безопасности в определенном адресе конечной точки с помощью указанного транспортного адреса.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken, EndpointAddress)

Создает канал, используемый для отправки сообщений в службу с помощью маркера безопасности в определенном адресе конечной точки.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken)

Создает канал, используемый для отправки сообщений в службу с помощью маркера безопасности.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress, Uri)

Создает канал, который используется для отправки сообщений в службу с выданным маркером безопасности по определенному адресу конечной точки через указанный адрес транспорта.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress)

Создает канал, который используется для отправки сообщений в службу с выданным маркером безопасности по определенному адресу конечной точки.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken)

Создает канал, используемый для отправки сообщений в службу с выданным маркером безопасности.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress, Uri)

Создает канал, который используется для отправки сообщений в службу от имени маркера безопасности по определенному адресу конечной точки через указанный транспортный адрес.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress)

Создает канал, используемый для отправки сообщений в службу от имени маркера безопасности по определенному адресу конечной точки.

(Унаследовано от ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken)

Создает канал, используемый для отправки сообщений в службу от имени маркера безопасности.

(Унаследовано от ChannelFactory<TChannel>)
CreateDescription()

Создает описание конечной точки службы.

(Унаследовано от ChannelFactory<TChannel>)
CreateFactory()

Создает фабрику каналов для текущей конечной точки фабрики.

(Унаследовано от ChannelFactory)
EndClose(IAsyncResult)

Завершает асинхронную операцию закрытия объекта связи.

(Унаследовано от CommunicationObject)
EndOpen(IAsyncResult)

Завершает асинхронную операцию для открытия объекта связи.

(Унаследовано от CommunicationObject)
EnsureOpened()

Открывает текущую фабрику каналов, если она еще не открыта.

(Унаследовано от ChannelFactory)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Fault()

Вызывает переход объекта связи из текущего состояния в состояние сбоя.

(Унаследовано от CommunicationObject)
GetCommunicationObjectType()

Возвращает тип объекта связи.

(Унаследовано от CommunicationObject)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetProperty<T>()

Возвращает типизированный объект, запрошенный в случае наличия, из соответствующего слоя в стеке каналов или null , если он отсутствует.

(Унаследовано от ChannelFactory)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InitializeEndpoint(Binding, EndpointAddress)

Инициализирует конечную точку службы фабрики каналов с указанными привязками и адресом.

(Унаследовано от ChannelFactory)
InitializeEndpoint(ServiceEndpoint)

Инициализирует конечную точку службы фабрики каналов с указанной конечной точкой.

(Унаследовано от ChannelFactory)
InitializeEndpoint(String, EndpointAddress)

Инициализирует конечную точку службы фабрики каналов с указанным адресом и конфигурацией.

(Унаследовано от ChannelFactory)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnAbort()

Завершает внутреннюю фабрику каналов текущей фабрики каналов.

(Унаследовано от ChannelFactory)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию закрытия на внутренней фабрике каналов текущей фабрики каналов с объектом состояния, связанным с ним.

(Унаследовано от ChannelFactory)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию открытия на внутренней фабрике каналов текущей фабрики каналов, которая имеет объект состояния, связанный с ним.

(Унаследовано от ChannelFactory)
OnClose(TimeSpan)

Вызовы закрываются на внутренней фабрике каналов с указанным временем ожидания для завершения операции.

(Унаследовано от ChannelFactory)
OnClosed()

Вызывается во время перехода объекта связи в закрываемое состояние.

(Унаследовано от CommunicationObject)
OnClosing()

Вызывается во время перехода объекта связи в закрываемое состояние.

(Унаследовано от CommunicationObject)
OnEndClose(IAsyncResult)

Завершает асинхронную операцию закрытия на внутренней фабрике каналов текущей фабрики каналов.

(Унаследовано от ChannelFactory)
OnEndOpen(IAsyncResult)

Завершает асинхронную операцию открытия на внутренней фабрике каналов текущей фабрики каналов.

(Унаследовано от ChannelFactory)
OnFaulted()

Вставляет обработку в объект связи после перехода в состояние сбоя из-за вызова синхронной операции сбоя.

(Унаследовано от CommunicationObject)
OnOpen(TimeSpan)

Вызовы открываются на внутренней фабрике каналов текущей фабрики каналов с указанным временем ожидания для завершения операции.

(Унаследовано от ChannelFactory)
OnOpened()

Инициализирует копию ClientCredentials объекта только для чтения для фабрики каналов.

(Унаследовано от ChannelFactory)
OnOpening()

Этот метод вызывается при открытии WebChannelFactory<TChannel> .

Open()

Вызывает переход объекта связи из созданного состояния в открытое состояние.

(Унаследовано от CommunicationObject)
Open(TimeSpan)

Вызывает переход объекта связи из созданного состояния в открытое состояние в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
ThrowIfDisposed()

Создает исключение, если объект связи удаляется.

(Унаследовано от CommunicationObject)
ThrowIfDisposedOrImmutable()

Вызывает исключение, если объект State связи, который свойство не задано для Created состояния.

(Унаследовано от CommunicationObject)
ThrowIfDisposedOrNotOpen()

Создает исключение, если объект связи не находится в Opened состоянии.

(Унаследовано от CommunicationObject)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

Имя Описание
Closed

Происходит при переходе объекта связи в закрытое состояние.

(Унаследовано от CommunicationObject)
Closing

Происходит при переходе объекта связи в состояние закрытия.

(Унаследовано от CommunicationObject)
Faulted

Происходит при переходе объекта связи в состояние сбоя.

(Унаследовано от CommunicationObject)
Opened

Происходит при переходе объекта связи в открытое состояние.

(Унаследовано от CommunicationObject)
Opening

Происходит при переходе объекта связи в открытое состояние.

(Унаследовано от CommunicationObject)

Явные реализации интерфейса

Имя Описание
IDisposable.Dispose()

Закрывает текущую фабрику каналов.

(Унаследовано от ChannelFactory)

Применяется к