HttpTransportBindingElement Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa o elemento de associação usado para especificar um transporte HTTP para transmissão de mensagens.
public ref class HttpTransportBindingElement : System::ServiceModel::Channels::TransportBindingElement
public ref class HttpTransportBindingElement : System::ServiceModel::Channels::TransportBindingElement, System::ServiceModel::Description::IPolicyExportExtension, System::ServiceModel::Description::IWsdlExportExtension
public class HttpTransportBindingElement : System.ServiceModel.Channels.TransportBindingElement
public class HttpTransportBindingElement : System.ServiceModel.Channels.TransportBindingElement, System.ServiceModel.Description.IPolicyExportExtension, System.ServiceModel.Description.IWsdlExportExtension
type HttpTransportBindingElement = class
inherit TransportBindingElement
type HttpTransportBindingElement = class
inherit TransportBindingElement
interface IWsdlExportExtension
interface IPolicyExportExtension
Public Class HttpTransportBindingElement
Inherits TransportBindingElement
Public Class HttpTransportBindingElement
Inherits TransportBindingElement
Implements IPolicyExportExtension, IWsdlExportExtension
- Herança
- Derivado
- Implementações
Exemplos
O código a seguir mostra como usar imperativamente o HttpTransportBindingElement.
Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");
// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
// Create a custom binding that contains two binding elements.
ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
reliableSession.Ordered = true;
HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
CustomBinding binding = new CustomBinding(reliableSession, httpTransport);
// Add an endpoint using that binding.
serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");
// Add a MEX endpoint.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
smb.HttpGetUrl = new Uri("http://localhost:8001/servicemodelsamples");
serviceHost.Description.Behaviors.Add(smb);
// Open the ServiceHostBase to create listeners and start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
serviceHost.Close();
}
Dim baseAddress As New Uri("http://localhost:8000/servicemodelsamples/service")
' Create a ServiceHost for the CalculatorService type and provide the base address.
Using serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)
' Create a custom binding that contains two binding elements.
Dim reliableSession As New ReliableSessionBindingElement()
reliableSession.Ordered = True
Dim httpTransport As New HttpTransportBindingElement()
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard
Dim binding As New CustomBinding(reliableSession, httpTransport)
' Add an endpoint using that binding.
serviceHost.AddServiceEndpoint(GetType(ICalculator), binding, "")
' Add a MEX endpoint.
Dim smb As New ServiceMetadataBehavior()
smb.HttpGetEnabled = True
smb.HttpGetUrl = New Uri("http://localhost:8001/servicemodelsamples")
serviceHost.Description.Behaviors.Add(smb)
' Open the ServiceHostBase to create listeners and start listening for messages.
serviceHost.Open()
' The service can now be accessed.
Console.WriteLine("The service is ready.")
Console.WriteLine("Press <ENTER> to terminate service.")
Console.WriteLine()
Console.ReadLine()
' Close the ServiceHostBase to shutdown the service.
serviceHost.Close()
End Using
HttpTransportBindingElement
também pode ser usado em um arquivo de configuração, conforme mostrado na configuração a seguir.
<bindings>
<customBinding>
<binding name="Binding1">
<reliableSession acknowledgementInterval="00:00:00.2000000" enableFlowControl="true"
maxTransferWindowSize="32" inactivityTimeout="00:10:00" maxPendingChannels="128"
maxRetryCount="8" ordered="true" />
<security mode="None"/>
<httpTransport authenticationScheme="Anonymous" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
proxyAuthenticationScheme="Anonymous" realm=""
useDefaultWebProxy="true" />
</binding>
</customBinding>
</bindings>
Comentários
A HttpTransportBindingElement classe é o ponto de partida para criar uma associação personalizada que implementa o protocolo de transporte HTTP. HTTP é o transporte primário usado para fins de interoperabilidade. Esse transporte tem suporte do WCF (Windows Communication Foundation) para garantir a interoperabilidade com outras pilhas de serviços Web não WCF.
O modelo de serviço WCF usa essa classe para criar objetos de fábrica que implementam as IChannelFactory interfaces e IChannelListener . Esses objetos de fábrica, por sua vez, criam os canais e ouvintes que transmitem mensagens SOAP usando o protocolo HTTP.
Você configura as fábricas que essa classe cria definindo suas propriedades, como AuthenticationScheme, HostNameComparisonModee MaxBufferSize.
Você também pode definir propriedades na classe base, TransportBindingElement, como ManualAddressing, MaxReceivedMessageSizee MaxBufferPoolSize. Para obter uma lista completa de propriedades, consulte TransportBindingElement.
Construtores
HttpTransportBindingElement() |
Inicializa uma nova instância da classe HttpTransportBindingElement. |
HttpTransportBindingElement(HttpTransportBindingElement) |
Inicializa uma nova instância da classe HttpTransportBindingElement usando outro elemento de associação. |
Propriedades
AllowCookies |
Obtém ou define um valor que indica se o cliente aceita cookies e propaga-os em solicitações futuras. |
AuthenticationScheme |
Obtém ou define o esquema de autenticação usado para autenticar solicitações de cliente sendo processadas por um ouvinte HTTP. |
BypassProxyOnLocal |
Obtém ou define um valor que indica se os proxies são ignorados para endereços locais. |
DecompressionEnabled |
Obtém ou define se o processo para retornar dados de mensagem compactados para o tamanho e o formato originais está habilitado. |
ExtendedProtectionPolicy |
Obtém ou define o valor da política de segurança estendida usada pelo servidor para validar as conexões de cliente recebidas. |
HostNameComparisonMode |
Obtém ou define um valor que indica se o nome do host é usado para alcançar o serviço ao fazer correspondência no URI. |
KeepAliveEnabled |
Obtém ou define um valor que indica se será feita uma conexão persistente com um ponto de extremidade de serviço. |
ManualAddressing |
Obtém ou define um valor que indica se o endereçamento manual da mensagem é necessário. (Herdado de TransportBindingElement) |
MaxBufferPoolSize |
Obtém ou define o tamanho máximo, em bytes, de qualquer pool de buffer usado pelo transporte. (Herdado de TransportBindingElement) |
MaxBufferSize |
Obtém ou define o tamanho máximo do buffer a ser usado. Para mensagens em buffer, esse valor é o mesmo que MaxReceivedMessageSize. Para mensagens transmitidas, esse valor é o tamanho máximo dos cabeçalhos SOAP, que devem ser lidos no modo de buffer. |
MaxPendingAccepts |
Obtém ou define o número máximo de conexões que o serviço pode aceitar simultaneamente. |
MaxReceivedMessageSize |
Obtém ou define o tamanho de mensagem máximo permitido, em bytes, que pode ser recebido. (Herdado de TransportBindingElement) |
MessageHandlerFactory |
Obtém ou define a fábrica de manipulador de mensagens de transporte HTTP. |
Proxy |
Representa o elemento de associação usado para especificar um transporte HTTP para transmissão de mensagens. |
ProxyAddress |
Obtém ou define um URI que contém o endereço do proxy a ser usado para solicitações HTTP. |
ProxyAuthenticationScheme |
Obtém ou define o esquema de autenticação usado para autenticar solicitações de cliente processadas por um proxy HTTP. |
Realm |
Obtém ou define o realm de autenticação. |
RequestInitializationTimeout |
Obtém ou define o tempo limite da inicialização solicitada. |
Scheme |
Obtém o esquema do URI para o transporte. |
TransferMode |
Obtém ou define o modo de transferência. |
UnsafeConnectionNtlmAuthentication |
Obtém ou define um valor que indica se o Compartilhamento de Conexão Não Segura está habilitado no servidor. Se estiver habilitado, a autenticação NTLM será executada uma vez em cada conexão TCP. |
UseDefaultWebProxy |
Obtém ou define um valor que indica se as configurações de proxy para todo o computador são usadas em vez de configurações específicas do usuário. |
WebSocketSettings |
Obtém ou define a configuração de soquete da Web do elemento de associação. |
Métodos
BuildChannelFactory<TChannel>(BindingContext) |
Cria uma fábrica de canais que pode ser usada para criar um canal. |
BuildChannelListener<TChannel>(BindingContext) |
Cria um ouvinte de canais do tipo especificado. |
BuildChannelListener<TChannel>(BindingContext) |
Inicializa um ouvinte de canais para aceitar canais de um tipo especificado do contexto de associação. (Herdado de BindingElement) |
CanBuildChannelFactory<TChannel>(BindingContext) |
Determina se uma fábrica de canais do tipo especificado pode ser criada. |
CanBuildChannelListener<TChannel>(BindingContext) |
Determina se um ouvinte de canais do tipo especificado pode ser criado. |
CanBuildChannelListener<TChannel>(BindingContext) |
Retorna um valor que indica se o elemento de associação pode criar um ouvinte para um tipo de canal específico. (Herdado de BindingElement) |
Clone() |
Cria uma nova instância que é uma cópia do elemento de associação atual. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetProperty<T>(BindingContext) |
Obtém uma propriedade do BindingContext especificado. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ShouldSerializeExtendedProtectionPolicy() |
Retorna uma valor que indica que não é possível serializar com XAML a política de proteção estendida. |
ShouldSerializeMessageHandlerFactory() |
Determina se a fábrica de manipulador de mensagens deve ser serializada. |
ShouldSerializeWebSocketSettings() |
Determina se as configurações de soquete da Web devem ser serializadas. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
UpdateAuthenticationSchemes(BindingContext) |
Atualiza os esquemas de autenticação de transporte que contêm o contexto de associação. |
Implantações explícitas de interface
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exporta uma asserção de política personalizada sobre associações. |
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Grava elementos de WSDL (linguagem WSDL) personalizados na WSDL gerada para um contrato. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Grava elementos WSDL (linguagem WSDL) personalizados no WSDL gerado para um ponto de extremidade. |