HttpTransportBindingElement Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente l'élément de liaison utilisé afin de spécifier un transport HTTP pour transmettre des messages.
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
- Héritage
- Dérivé
- Implémente
Exemples
Le code suivant illustre l'utilisation obligatoire de 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
peut également être utilisé dans un fichier de configuration, comme indiqué dans la configuration suivante.
<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>
Remarques
La classe HttpTransportBindingElement constitue le point de départ pour créer une liaison personnalisée qui implémente le protocole de transport HTTP. HTTP est le principal transport utilisé à des fins d'interopérabilité. Ce transport est pris en charge par Windows Communication Foundation (WCF) pour garantir l’interopérabilité avec d’autres piles de services Web non WCF.
Le modèle de service WCF utilise cette classe pour créer des objets de fabrique qui implémentent les IChannelFactory interfaces et IChannelListener . Ces objets de fabrique, à leur tour, créent les canaux et les écouteurs qui transmettent les messages SOAP par le biais du protocole HTTP.
Pour configurer les fabriques que cette classe crée, définissez ses propriétés, par exemple : AuthenticationScheme, HostNameComparisonMode et MaxBufferSize.
Vous pouvez également définir des propriétés de la classe de base TransportBindingElement, telles que : ManualAddressing, MaxReceivedMessageSize et MaxBufferPoolSize. Pour obtenir la liste complète des propriétés, consultez TransportBindingElement.
Constructeurs
HttpTransportBindingElement() |
Initialise une nouvelle instance de la classe HttpTransportBindingElement. |
HttpTransportBindingElement(HttpTransportBindingElement) |
Initialise une nouvelle instance de la classe HttpTransportBindingElement à l'aide d'un autre élément de liaison. |
Propriétés
AllowCookies |
Obtient ou définit une valeur qui indique si le client accepte les cookies et les propage sur les requêtes ultérieures. |
AuthenticationScheme |
Obtient ou définit le modèle d'authentification utilisé pour authentifier les demandes du client qui sont traitées par un écouteur HTTP. |
BypassProxyOnLocal |
Obtient ou définit une valeur qui indique si les proxies sont ignorés pour les adresses locales. |
DecompressionEnabled |
Obtient ou définit une valeur indiquant si le processus de retour des données de message compressées à leur taille et leur format d'origine est activé. |
ExtendedProtectionPolicy |
Obtient ou définit la valeur de la stratégie de sécurité étendue utilisée par le serveur pour valider les connexions clientes entrantes. |
HostNameComparisonMode |
Obtient ou définit une valeur qui indique si le nom d'hôte est utilisé pour atteindre le service lors de la correspondance avec l'URI. |
KeepAliveEnabled |
Obtient ou définit une valeur qui indique s'il faut établir une connexion permanente à un point de terminaison de service. |
ManualAddressing |
Obtient ou définit une valeur qui indique si l'adressage manuel du message est requis. (Hérité de TransportBindingElement) |
MaxBufferPoolSize |
Obtient ou définit la taille maximale (en octets) des pools de mémoires tampons utilisés par le transport. (Hérité de TransportBindingElement) |
MaxBufferSize |
Obtient ou définit la taille maximale de la mémoire tampon à utiliser. Pour les messages mis en mémoire tampon, cette valeur est identique à MaxReceivedMessageSize. Pour les messages transférés en continu, cette valeur désigne la taille maximale des en-têtes SOAP, qui doivent être lus en mode de mémoire tampon. |
MaxPendingAccepts |
Obtient ou définit le nombre maximal de connexions que le service peut accepter simultanément. |
MaxReceivedMessageSize |
Obtient ou définit la taille maximale du message autorisée (en octets) qui peut être reçue. (Hérité de TransportBindingElement) |
MessageHandlerFactory |
Obtient ou définit la fabrique de gestionnaires de messages de transport HTTP. |
Proxy |
Représente l'élément de liaison utilisé afin de spécifier un transport HTTP pour transmettre des messages. |
ProxyAddress |
Obtient ou définit un URI qui contient l'adresse du proxy à utiliser pour les demandes HTTP. |
ProxyAuthenticationScheme |
Obtient ou définit le modèle d'authentification utilisé pour authentifier les demandes du client qui sont traitées par un proxy HTTP. |
Realm |
Obtient ou définit le domaine d'authentification. |
RequestInitializationTimeout |
Obtient ou définit le délai d'attente d'initialisation demandé. |
Scheme |
Obtient le schéma d'URI pour le transport. |
TransferMode |
Obtient ou définit le mode de transfert. |
UnsafeConnectionNtlmAuthentication |
Obtient ou définit une valeur qui indique si le partage de connexion non sécurisé est activé sur le serveur. S'il est activé, l'authentification NTLM est exécutée une fois sur chaque connexion TCP. |
UseDefaultWebProxy |
Obtient ou définit une valeur qui indique si les paramètres de proxy à l'échelle de l'ordinateur sont utilisés à la place des paramètres spécifiques de l'utilisateur. |
WebSocketSettings |
Obtient ou définit la configuration du WebSocket de l'élément de liaison. |
Méthodes
BuildChannelFactory<TChannel>(BindingContext) |
Crée une fabrique de canaux qui peut être utilisée pour créer un canal. |
BuildChannelListener<TChannel>(BindingContext) |
Crée un écouteur de canal du type spécifié. |
BuildChannelListener<TChannel>(BindingContext) |
Initialise un écouteur de canal pour accepter les canaux d’un type donné issus du contexte de liaison. (Hérité de BindingElement) |
CanBuildChannelFactory<TChannel>(BindingContext) |
Détermine si une fabrication de canal du type spécifié peut être construite. |
CanBuildChannelListener<TChannel>(BindingContext) |
Détermine si un écouteur de canal du type spécifié peut être construit. |
CanBuildChannelListener<TChannel>(BindingContext) |
Retourne une valeur qui indique si l’élément de liaison peut générer un écouteur pour un type de canal spécifique. (Hérité de BindingElement) |
Clone() |
Crée une instance représentant une copie de l'élément de liaison en cours. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetProperty<T>(BindingContext) |
Obtient une propriété à partir du BindingContext spécifié. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ShouldSerializeExtendedProtectionPolicy() |
Retourne une valeur qui indique qu'il n'est pas possible de sérialiser en XAML la stratégie de protection étendue. |
ShouldSerializeMessageHandlerFactory() |
Détermine si la fabrique de gestionnaires de messages doit être sérialisée. |
ShouldSerializeWebSocketSettings() |
Détermine si les paramètres de socket Web doivent être sérialisés. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
UpdateAuthenticationSchemes(BindingContext) |
Met à jour les schémas d'authentification de transport qui contiennent le contexte de liaison. |
Implémentations d’interfaces explicites
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exporte une assertion de stratégie personnalisée concernant les liaisons. |
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Écrit des éléments WSDM (Web Services Description Language) personnalisés dans le service WSDL généré pour un contrat. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Écrit des éléments WSDM (Web Services Description Language) personnalisés dans le service WSDL généré pour un point de terminaison. |