WebMessageEncodingBindingElement 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.
Permet de lire et d’écrire du contenu XML en texte brut, les encodages de message JSON (JavaScript Objet Notation) et du contenu binaire brut dans une liaison Windows Communication Foundation (WCF).
public ref class WebMessageEncodingBindingElement sealed : System::ServiceModel::Channels::MessageEncodingBindingElement, System::ServiceModel::Description::IWsdlExportExtension
public sealed class WebMessageEncodingBindingElement : System.ServiceModel.Channels.MessageEncodingBindingElement, System.ServiceModel.Description.IWsdlExportExtension
type WebMessageEncodingBindingElement = class
inherit MessageEncodingBindingElement
interface IWsdlExportExtension
Public NotInheritable Class WebMessageEncodingBindingElement
Inherits MessageEncodingBindingElement
Implements IWsdlExportExtension
- Héritage
- Implémente
Remarques
L'encodage est le processus de transformation d'un message en une séquence d'octets. Le décodage est le processus inverse. Ces processus nécessitent l'encodage de caractères à titre de spécification. WebMessageEncodingBindingElement fonctionne par délégation à une série d'encodeurs internes afin de gérer les données XML de texte brut , les encodages JSON et les données binaires brutes. Cette délégation a lieu par le biais d'un encodeur de message composite.
Cet élément de liaison et son encodeur composite sont utilisés pour contrôler l'encodage dans des scénarios qui n'utilisent pas la messagerie SOAP utilisée par WebHttpBinding. Ces scénarios incluent les protocoles POX (Plain Old XML) et REST (Representational State Transfer), la syndication RSS (Really Simple Syndication) et Atom, ainsi que le protocole AJAX (Asynchronous JavaScript and XML). L'encodeur de message composite ne prend pas en charge SOAP ni WS-Addressing. La propriété MessageVersion retourne toujours ainsi None.
L’élément de liaison peut être configuré avec un encodage de caractères en écriture au moment de la construction par le biais du constructeur WebMessageEncodingBindingElement(Encoding). La valeur Encoding spécifie le comportement sur l'écriture pour les cas JSON et XML textuels. Lors de la lecture, tous les encodages de texte et de message valides sont maîtrisés.
Ce constructeur définit des valeurs par défaut sur le nombre maximal de lecteurs et de writers alloués aux pools et respectivement disponibles dans le but de traiter des messages entrants et sortants sans allouer de nouveaux lecteurs ou writers. Les propriétés MaxReadPoolSize et MaxWritePoolSize peuvent également être utilisés pour définir le nombre maximal de lecteurs et de writers à allouer respectivement. Par défaut, 64 lecteurs et 16 writers sont alloués.
Ce constructeur définit également les contraintes de complexité par défaut dans le XmlDictionaryReaderQuotas associé à cet encodage par la propriété ReaderQuotas afin d'assurer la protection contre une classe d'attaques par déni de service (DoS) qui tente d'exploiter la complexité des messages pour bloquer les ressources allouées au traitement des points de terminaison.
WebMessageEncodingBindingElement dispose d'une méthode CreateMessageEncoderFactory qui crée une fabrique d'encodeur de message chargée de produire des encodeurs et des décodeurs de messages JSON, XML ou bruts selon les besoins et le type de contenu spécifié.
WebMessageEncodingBindingElement fournit également les méthodes permettant de générer des fabriques et des écouteurs pour les canaux chargés d'acheminer les requêtes HTTP.
L'encodeur composite et ses classes et composants de configuration associés peuvent être employés en confiance partielle. De même, cette utilisation ne nécessite pas d'autorisations spéciales.
Constructeurs
WebMessageEncodingBindingElement() |
Initialise une nouvelle instance de la classe WebMessageEncodingBindingElement. |
WebMessageEncodingBindingElement(Encoding) |
Initialise une nouvelle instance de la classe WebMessageEncodingBindingElement avec un encodage de caractères d'écriture spécifié. |
Propriétés
ContentTypeMapper |
Obtient ou définit le mode de mappage du type de contenu d'un message entrant à un format. |
CrossDomainScriptAccessEnabled |
Obtient ou définit une valeur qui détermine si l'accès au script inter-domaine est activé. |
MaxReadPoolSize |
Obtient ou définit une valeur qui spécifie le nombre maximal de lecteurs alloués à un pool et disponibles pour le traitement des messages entrants sans allouer de nouveaux lecteurs. |
MaxWritePoolSize |
Obtient ou définit une valeur qui spécifie le nombre maximal d'enregistreurs alloués à un pool et disponibles pour le traitement des messages sortants sans allouer de nouveaux enregistreurs. |
MessageVersion |
Obtient ou définit la version du message indiquant que l’élément de liaison n’utilise pas SOAP ou WS-Addressing. |
ReaderQuotas |
Obtient les contraintes de la complexité des messages SOAP qui peuvent être traités par les points de terminaison configurés avec cette liaison. |
WriteEncoding |
Obtient ou définit l'encodage de caractères utilisé pour écrire le texte du message. |
Méthodes
BuildChannelFactory<TChannel>(BindingContext) |
Génère la pile de fabrications de canal sur le client effectuant la création d'un type de canaux spécifié pour un contexte spécifié. |
BuildChannelListener<TChannel>(BindingContext) |
Génère la pile d'écouteurs de canal sur le client acceptant un type de canaux spécifié pour un contexte spécifié. |
CanBuildChannelFactory<TChannel>(BindingContext) |
Retourne une valeur qui indique si l’élément de liaison peut générer une fabrication de canal pour un type de canal spécifique. (Hérité de BindingElement) |
CanBuildChannelListener<TChannel>(BindingContext) |
Renvoie une valeur indiquant si l'élément de liaison en cours peut générer un écouteur pour un type spécifique de contexte et de canal. |
Clone() |
Crée un objet WebMessageEncodingBindingElement initialisé à partir de l'objet actuel. |
CreateMessageEncoderFactory() |
Crée une fabrique d'encodeur de message chargée de produire des encodeurs de message capables d'écrire des messages JSON (JavaScript Object Notation) ou XML. |
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) |
Retourne l'objet du type demandé (s'il est présent) de la couche appropriée vers la pile des canaux, ou bien la valeur |
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) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Génère des informations de contrat WSDL à partir de stratégies d’encodage contenues dans l’élément de liaison. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Génère des informations de contrat WSDL à partir de stratégies d’encodage contenues dans l’élément de liaison. |