WebChannelFactory<TChannel> Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Uma classe para aceder a serviços Web do Windows Communication Foundation (WCF) num cliente.
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)
Parâmetros de Tipo Genérico
- TChannel
O tipo de canal a criar.
- Herança
Exemplos
O código seguinte mostra como usar a WebChannelFactory<TChannel> classe para chamar um serviço 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
Para um exemplo completo de código, veja Exemplo Básico de Modelo de Programação WCF REST.
Observações
Esta classe é uma especial ChannelFactory que adiciona automaticamente o WebHttpBehavior ao endpoint caso não esteja já presente. Além disso, adiciona um padrão WebHttpBinding ao endpoint se a ligação não estiver explicitamente configurada e o endereço for HTTP ou HTTPS.
Se todas as operações do contrato não tiverem valor de retorno ou tiverem um valor de retorno do tipo Stream, então configura WebChannelFactory<TChannel> a ligação para o tipo de conteúdo apropriado.
Construtores
| Name | Description |
|---|---|
| WebChannelFactory<TChannel>() |
Inicializa uma nova instância da WebChannelFactory<TChannel> classe. |
| WebChannelFactory<TChannel>(Binding, Uri) |
Inicializa uma nova instância da WebChannelFactory<TChannel> classe com a ligação e Urio especificado. |
| WebChannelFactory<TChannel>(Binding) |
Inicializa uma nova instância da WebChannelFactory<TChannel> classe. |
| WebChannelFactory<TChannel>(ServiceEndpoint) |
Inicializa uma nova instância da WebChannelFactory<TChannel> classe. |
| WebChannelFactory<TChannel>(String, Uri) |
Inicializa uma nova instância da WebChannelFactory<TChannel> classe com a configuração de endpoint especificada e Uri. |
| WebChannelFactory<TChannel>(String) |
Inicializa uma nova instância da WebChannelFactory<TChannel> classe. |
| WebChannelFactory<TChannel>(Type) |
Inicializa uma nova instância da WebChannelFactory<TChannel> classe. |
| WebChannelFactory<TChannel>(Uri) |
Inicializa uma nova instância da WebChannelFactory<TChannel> classe com o especificado Uri. |
Propriedades
| Name | Description |
|---|---|
| Credentials |
Obtém as credenciais usadas pelos clientes para comunicar um endpoint de serviço através dos canais produzidos pela fábrica. (Herdado de ChannelFactory) |
| DefaultCloseTimeout |
Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação de fechamento. (Herdado de ChannelFactory) |
| DefaultOpenTimeout |
Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação aberta. (Herdado de ChannelFactory) |
| Endpoint |
Obtém o endpoint de serviço ao qual os canais produzidos pela fábrica se ligam. (Herdado de ChannelFactory) |
| IsDisposed |
Obtém um valor que indica se o objeto de comunicação foi eliminado. (Herdado de CommunicationObject) |
| State |
Obtém um valor que indica o estado atual do objeto de comunicação. (Herdado de CommunicationObject) |
| ThisLock |
Obtém o bloqueio mutuamente exclusivo que protege a instância de classe durante uma transição de estado. (Herdado de CommunicationObject) |
Métodos
| Name | Description |
|---|---|
| Abort() |
Faz com que um objeto de comunicação transite imediatamente do seu estado atual para o estado de fecho. (Herdado de CommunicationObject) |
| ApplyConfiguration(String) |
Inicializa a fábrica de canais com os comportamentos fornecidos por um ficheiro de configuração especificado e com os que estão no endpoint de serviço da fábrica de canais. (Herdado de ChannelFactory) |
| BeginClose(AsyncCallback, Object) |
Inicia uma operação assíncrona para fechar um objeto de comunicação. (Herdado de CommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona para fechar um objeto de comunicação com um timeout especificado. (Herdado de CommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
Inicia uma operação assíncrona para abrir um objeto de comunicação. (Herdado de CommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona para abrir um objeto de comunicação dentro de um intervalo de tempo especificado. (Herdado de CommunicationObject) |
| Close() |
Faz com que um objeto de comunicação faça a transição do seu estado atual para o estado fechado. (Herdado de CommunicationObject) |
| Close(TimeSpan) |
Faz com que um objeto de comunicação transite do seu estado atual para o estado fechado dentro de um intervalo de tempo especificado. (Herdado de CommunicationObject) |
| CreateChannel() |
Cria um canal de um tipo especificado para um endereço endpoint especificado. (Herdado de ChannelFactory<TChannel>) |
| CreateChannel(EndpointAddress, Uri) |
Cria um canal que é usado para enviar mensagens a um serviço num endereço de endpoint específico através de um endereço de transporte especificado. (Herdado de ChannelFactory<TChannel>) |
| CreateChannel(EndpointAddress) |
Cria um canal que é usado para enviar mensagens a um serviço num endereço endpoint específico. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithActAsToken(SecurityToken, EndpointAddress, Uri) |
Cria um canal que é usado para enviar mensagens a um serviço com um atuar como token de segurança num endereço de endpoint específico através de um endereço de transporte especificado. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithActAsToken(SecurityToken, EndpointAddress) |
Cria um canal que é usado para enviar mensagens a um serviço com um atuar como token de segurança num endereço endpoint específico. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithActAsToken(SecurityToken) |
Cria um canal que é usado para enviar mensagens a um serviço com um ato como token de segurança. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithIssuedToken(SecurityToken, EndpointAddress, Uri) |
Cria um canal que é usado para enviar mensagens a um serviço com um token de segurança emitido num endereço endpoint específico através de um endereço de transporte especificado. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithIssuedToken(SecurityToken, EndpointAddress) |
Cria um canal que é usado para enviar mensagens a um serviço com um token de segurança emitido num endereço endpoint específico. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithIssuedToken(SecurityToken) |
Cria um canal que é usado para enviar mensagens a um serviço com um token de segurança emitido. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress, Uri) |
Cria um canal que é usado para enviar mensagens a um serviço com um token em nome de um token de segurança num endereço endpoint específico através de um endereço de transporte especificado. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress) |
Cria um canal que é usado para enviar mensagens a um serviço com um token de segurança em nome de um endereço endpoint específico. (Herdado de ChannelFactory<TChannel>) |
| CreateChannelWithOnBehalfOfToken(SecurityToken) |
Cria um canal que é usado para enviar mensagens a um serviço com um token em nome de segurança. (Herdado de ChannelFactory<TChannel>) |
| CreateDescription() |
Cria uma descrição do endpoint do serviço. (Herdado de ChannelFactory<TChannel>) |
| CreateFactory() |
Constrói a fábrica de canais para o endpoint atual da fábrica. (Herdado de ChannelFactory) |
| EndClose(IAsyncResult) |
Completa uma operação assíncrona para fechar um objeto de comunicação. (Herdado de CommunicationObject) |
| EndOpen(IAsyncResult) |
Completa uma operação assíncrona para abrir um objeto de comunicação. (Herdado de CommunicationObject) |
| EnsureOpened() |
Abre a fábrica de canal atual se ainda não estiver aberta. (Herdado de ChannelFactory) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Fault() |
Faz com que um objeto de comunicação faça a transição do seu estado atual para o estado defeituoso. (Herdado de CommunicationObject) |
| GetCommunicationObjectType() |
Obtém o tipo de objeto de comunicação. (Herdado de CommunicationObject) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetProperty<T>() |
Devolve o objeto tipado solicitado, se presente, da camada apropriada na pilha de canais, ou |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeEndpoint(Binding, EndpointAddress) |
Inicializa o endpoint de serviço da fábrica de canal com uma ligação e endereço especificados. (Herdado de ChannelFactory) |
| InitializeEndpoint(ServiceEndpoint) |
Inicializa o endpoint de serviço da fábrica de canal com um endpoint especificado. (Herdado de ChannelFactory) |
| InitializeEndpoint(String, EndpointAddress) |
Inicializa o endpoint de serviço da fábrica de canal com um endereço e configuração especificados. (Herdado de ChannelFactory) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnAbort() |
Termina a fábrica de canais interiores da fábrica de canais atual. (Herdado de ChannelFactory) |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona de encerramento na fábrica de canais interior da fábrica de canais atual que tem um objeto de estado associado. (Herdado de ChannelFactory) |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Inicia uma operação aberta assíncrona na fábrica de canais interior da fábrica de canais atual que tem um objeto de estado associado. (Herdado de ChannelFactory) |
| OnClose(TimeSpan) |
As chamadas terminam na fábrica do canal interno com um tempo de espera especificado para a conclusão da operação. (Herdado de ChannelFactory) |
| OnClosed() |
Invocado durante a transição de um objeto de comunicação para o estado de fecho. (Herdado de CommunicationObject) |
| OnClosing() |
Invocado durante a transição de um objeto de comunicação para o estado de fecho. (Herdado de CommunicationObject) |
| OnEndClose(IAsyncResult) |
Completa uma operação assíncrona de fechamento na fábrica de canais interiores da fábrica de canais atual. (Herdado de ChannelFactory) |
| OnEndOpen(IAsyncResult) |
Completa uma operação aberta assíncrona na fábrica de canais interiores da fábrica de canais atual. (Herdado de ChannelFactory) |
| OnFaulted() |
Insere processamento num objeto de comunicação após esta transitar para o estado de falha devido à invocação de uma operação de falha síncrona. (Herdado de CommunicationObject) |
| OnOpen(TimeSpan) |
As chamadas abrem na fábrica de canais interiores da fábrica de canais atual com um tempo de espera especificado para a conclusão da operação. (Herdado de ChannelFactory) |
| OnOpened() |
Inicializa uma cópia somente de leitura do ClientCredentials objeto para a fábrica de canais. (Herdado de ChannelFactory) |
| OnOpening() |
Este método é chamado quando o WebChannelFactory<TChannel> é aberto. |
| Open() |
Faz com que um objeto de comunicação faça a transição do estado criado para o estado aberto. (Herdado de CommunicationObject) |
| Open(TimeSpan) |
Faz com que um objeto de comunicação faça a transição do estado criado para o estado aberto dentro de um intervalo de tempo especificado. (Herdado de CommunicationObject) |
| ThrowIfDisposed() |
Lança uma exceção se o objeto de comunicação for eliminado. (Herdado de CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Lança uma exceção se a propriedade do objeto State de comunicação não estiver definida para o Created estado. (Herdado de CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Lança uma exceção se o objeto de comunicação não estiver nesse Opened estado. (Herdado de CommunicationObject) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
evento
| Name | Description |
|---|---|
| Closed |
Ocorre quando um objeto de comunicação transita para o estado fechado. (Herdado de CommunicationObject) |
| Closing |
Ocorre quando um objeto de comunicação transita para o estado de fecho. (Herdado de CommunicationObject) |
| Faulted |
Ocorre quando um objeto de comunicação transita para o estado falhado. (Herdado de CommunicationObject) |
| Opened |
Ocorre quando um objeto de comunicação transita para o estado aberto. (Herdado de CommunicationObject) |
| Opening |
Ocorre quando um objeto de comunicação transita para o estado de abertura. (Herdado de CommunicationObject) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Fecha a atual fábrica de canais. (Herdado de ChannelFactory) |