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>() |
Возвращает типизированный объект, запрошенный в случае наличия, из соответствующего слоя в стеке каналов или |
| 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) |