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>()

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

Вставляет операцию обработки объекта связи после перехода объекта в состояние 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)

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