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 transmitir 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 HttpTransportBindingElemento .
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 é compatível com o WCF (Windows Communication Foundation) para garantir a interoperabilidade com outras pilhas de serviços Web não WCF.
O modelo de serviço do WCF usa essa classe para criar objetos de fábrica que implementam o e IChannelListener as IChannelFactory interfaces. 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, TransportBindingElementcomo ManualAddressing, MaxReceivedMessageSizee MaxBufferPoolSize. Para obter uma lista completa de propriedades, consulte TransportBindingElement.
Construtores
| Nome | Description |
|---|---|
| HttpTransportBindingElement() |
Inicializa uma nova instância da classe HttpTransportBindingElement. |
| HttpTransportBindingElement(HttpTransportBindingElement) |
Inicializa uma nova instância da HttpTransportBindingElement classe usando outro elemento de associação. |
Propriedades
| Nome | Description |
|---|---|
| AllowCookies |
Obtém ou define um valor que indica se o cliente aceita cookies e os propaga em solicitações futuras. |
| AuthenticationScheme |
Obtém ou define o esquema de autenticação usado para autenticar solicitações de cliente que estão 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 seu tamanho e formato originais está habilitado. |
| ExtendedProtectionPolicy |
Obtém ou define o valor da política de segurança estendida usada pelo servidor para validar conexões de cliente de entrada. |
| HostNameComparisonMode |
Obtém ou define um valor que indica se o nome do host é usado para alcançar o serviço ao corresponder no URI. |
| KeepAliveEnabled |
Obtém ou define um valor que indica se é necessário fazer 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 todos os pools de buffer usados 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 em 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 máximo de mensagem permitido, em bytes, que pode ser recebido. (Herdado de TransportBindingElement) |
| MessageHandlerFactory |
Obtém ou define a fábrica do manipulador de mensagens de transporte Http. |
| Proxy |
Representa o elemento de associação usado para especificar um transporte HTTP para transmitir 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 que estão sendo processadas por um proxy HTTP. |
| Realm |
Obtém ou define o realm de autenticação. |
| RequestInitializationTimeout |
Obtém ou define o tempo limite de inicialização solicitado. |
| Scheme |
Obtém o esquema de 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 Seguro está habilitado no servidor. Se habilitada, 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 em todo o computador são usadas em vez das configurações específicas do usuário. |
| WebSocketSettings |
Obtém ou define a configuração do soquete da Web do elemento de associação. |
Métodos
| Nome | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Cria uma fábrica de canais que pode ser usada para criar um canal. |
| BuildChannelListener<TChannel>(BindingContext) |
Cria um ouvinte de canal do tipo especificado. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
Determina se uma fábrica de canais do tipo especificado pode ser criada. |
| CanBuildChannelListener<TChannel>(BindingContext) |
Determina se um ouvinte de canal do tipo especificado pode ser criado. |
| 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 especificado BindingContext. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ShouldSerializeExtendedProtectionPolicy() |
Retorna um valor indicando que não é possível serializar a política de proteção estendida por XAML. |
| ShouldSerializeMessageHandlerFactory() |
Determina se a fábrica do manipulador de mensagens deve ser serializada. |
| ShouldSerializeWebSocketSettings() |
Determina se as configurações do 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
| Nome | Description |
|---|---|
| IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exporta uma declaração de política personalizada sobre associações. |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Grava elementos WSDL (Linguagem de Descrição de Serviços Web) personalizados no WSDL gerado para um contrato. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Grava elementos WSDL (Linguagem de Descrição de Serviços Web) personalizados no WSDL gerado para um ponto de extremidade. |