WebChannelFactory<TChannel> Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Класс для доступа к веб-службам Windows Communication Foundation (WCF) в клиенте.
generic <typename TChannel>
where TChannel : classpublic ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
generic <typename TChannel>
public ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel> where TChannel : class
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel>
type WebChannelFactory<'Channel (requires 'Channel : null)> = class
inherit ChannelFactory<'Channel (requires 'Channel : null)>
type WebChannelFactory<'Channel> = class
inherit ChannelFactory<'Channel>
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) |
Инициализирует новый экземпляр класса WebChannelFactory<TChannel>. |
WebChannelFactory<TChannel>(Binding, Uri) |
Инициализирует новый экземпляр класса WebChannelFactory<TChannel> с заданной привязкой и свойством Uri. |
WebChannelFactory<TChannel>(ServiceEndpoint) |
Инициализирует новый экземпляр класса WebChannelFactory<TChannel>. |
WebChannelFactory<TChannel>(String) |
Инициализирует новый экземпляр класса WebChannelFactory<TChannel>. |
WebChannelFactory<TChannel>(String, Uri) |
Инициализирует новый экземпляр класса WebChannelFactory<TChannel> с заданной конфигурацией конечной точки и свойством Uri. |
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() |
Вызывает переход объекта связи из текущего состояния в состояние Closed. (Унаследовано от CommunicationObject) |
Close(TimeSpan) |
Вызывает переход объекта связи из его текущего состояния в состояние Closed в течение заданного интервала времени. (Унаследовано от CommunicationObject) |
CreateChannel() |
Создает канал заданного типа, связанный с заданным адресом конечной точки. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannel(EndpointAddress) |
Создает канал, используемый для отправки сообщений в службу по конкретному адресу конечной точки. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannel(EndpointAddress, Uri) |
Создает канал, используемый для отправки сообщений в службу по конкретному адресу конечной точки через указанный адрес транспортировки. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithActAsToken(SecurityToken) |
Создает канал, используемый для отправки сообщений в службу как токен безопасности. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithActAsToken(SecurityToken, EndpointAddress) |
Создает канал, используемый для отправки сообщений в службу как токен безопасности по конкретному адресу конечной точки. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithActAsToken(SecurityToken, EndpointAddress, Uri) |
Создает канал, используемый для отправки сообщений в службу как токен безопасности по конкретному адресу конечной точки через указанный адрес транспортировки. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithIssuedToken(SecurityToken) |
Создает канал, используемый для отправки сообщений в службу с выпущенным токеном безопасности. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress) |
Создает канал, используемый для отправки сообщений в службу с выданным токеном безопасности по конкретному адресу конечной точки. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress, Uri) |
Создает канал, используемый для отправки сообщений в службу с выданным токеном безопасности по конкретному адресу конечной точки через указанный адрес транспортировки. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithOnBehalfOfToken(SecurityToken) |
Создает канал, используемый для отправки сообщений в службу с от лица токена безопасности. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress) |
Создает канал, используемый для отправки сообщений в службу с от лица выданного токена безопасности по конкретному адресу конечной точки. (Унаследовано от ChannelFactory<TChannel>) |
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress, Uri) |
Создает канал, используемый для отправки сообщений в службу от имени токена безопасности по конкретному адресу конечной точки через указанный адрес транспортировки. (Унаследовано от ChannelFactory<TChannel>) |
CreateDescription() |
Создает описание конечной точки службы. (Унаследовано от ChannelFactory<TChannel>) |
CreateFactory() |
Создает фабрику каналов для текущей конечной точки фабрики. (Унаследовано от ChannelFactory) |
EndClose(IAsyncResult) |
Завершает асинхронную операцию закрытия объекта связи. (Унаследовано от CommunicationObject) |
EndOpen(IAsyncResult) |
Завершает асинхронную операцию открытия объекта связи. (Унаследовано от CommunicationObject) |
EnsureOpened() |
Открывает текущую фабрику каналов, если она еще не открыта. (Унаследовано от ChannelFactory) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Fault() |
Вызывает переход объекта связи из текущего состояния в состояние Faulted. (Унаследовано от 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() |
Вставляет операцию обработки объекта связи после перехода объекта в состояние Faulted в связи с вызовом синхронной операции ошибки. (Унаследовано от CommunicationObject) |
OnOpen(TimeSpan) |
Вызывает операцию открытия в фабрике внутренних каналов текущей фабрики каналов с заданным временем ожидания для завершения операции. (Унаследовано от ChannelFactory) |
OnOpened() |
Инициализирует доступную только для чтения копию объекта ClientCredentials для фабрики каналов. (Унаследовано от ChannelFactory) |
OnOpening() |
Этот метод вызывается при открытии WebChannelFactory<TChannel>. |
Open() |
Вызывает переход объекта связи из состояния Created в состояние Opened. (Унаследовано от CommunicationObject) |
Open(TimeSpan) |
Вызывает переход объекта связи из состояния Created в состояние Opened в течение заданного интервала времени. (Унаследовано от CommunicationObject) |
ThrowIfDisposed() |
Вызывает исключение, если объект связи удален. (Унаследовано от CommunicationObject) |
ThrowIfDisposedOrImmutable() |
Создает исключение, если для свойства объекта связи State не установлено значение Created. (Унаследовано от CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
Создает исключение, если объект связи не находится в состоянии Opened. (Унаследовано от CommunicationObject) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
События
Closed |
Происходит при переходе объекта связи в состояние Closed. (Унаследовано от CommunicationObject) |
Closing |
Происходит при переходе объекта связи в состояние закрытия. (Унаследовано от CommunicationObject) |
Faulted |
Происходит при переходе объекта связи в состояние Faulted. (Унаследовано от CommunicationObject) |
Opened |
Происходит при переходе объекта связи в состояние Opened. (Унаследовано от CommunicationObject) |
Opening |
Происходит при переходе объекта связи в состояние открытия. (Унаследовано от CommunicationObject) |
Явные реализации интерфейса
IDisposable.Dispose() |
Закрывает текущую фабрику каналов. (Унаследовано от ChannelFactory) |