WebMessageEncodingBindingElement Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee kunnen XML-tekst zonder opmaak, JSON-berichtcoderingen (JavaScript Object Notation) en onbewerkte binaire inhoud worden gelezen en geschreven wanneer deze worden gebruikt in een WCF-binding (Windows Communication Foundation).
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
- Overname
- Implementeringen
Opmerkingen
Encoding is het proces van het transformeren van een bericht in een reeks bytes. Decodering is het omgekeerde proces. Voor deze processen is de specificatie van een tekencodering vereist. Het WebMessageEncodingBindingElement werkt door een reeks interne encoders te delegeren om de XML- en JSON-coderingen zonder opmaak en binaire gegevens te verwerken. Deze overdracht wordt uitgevoerd door een samengestelde berichtcoderingsprogramma.
Dit bindingselement en de samengestelde encoder worden gebruikt om de codering te beheren in scenario's die geen SOAP-berichten gebruiken die worden gebruikt door de WebHttpBinding. Deze scenario's omvatten 'Plain Old XML' (POX), Representational State Transfer (REST), Really Simple Syndication (RSS) en Atom syndication, en Asynchrone JavaScript en XML (AJAX). De encoder voor samengestelde berichten biedt geen ondersteuning voor SOAP of WS-Adressering en retourneert Nonedus MessageVersion altijd.
Het bindingselement kan worden geconfigureerd met een schrijftekencodering tijdens de bouw met behulp van de WebMessageEncodingBindingElement(Encoding) constructor. De Encoding waarde geeft het gedrag op voor schrijven voor de JSON- en Textual XML-gevallen. Bij lezen wordt elke geldige berichtcodering en tekstcodering begrepen.
Met deze constructor worden standaardwaarden ingesteld op het maximum aantal lezers en schrijvers dat is toegewezen aan pools en die respectievelijk beschikbaar zijn voor het verwerken van binnenkomende en uitgaande berichten zonder nieuwe lezers of schrijvers toe te wijzen. De eigenschappen MaxReadPoolSize en MaxWritePoolSize kunnen ook worden gebruikt om respectievelijk het maximum aantal lezers en schrijvers in te stellen dat moet worden toegewezen. Standaard worden 64 lezers en 16 schrijvers toegewezen.
Standaardcomplexiteitsbeperkingen worden ook ingesteld door deze constructor op basis XmlDictionaryReaderQuotas van deze codering door de ReaderQuotas eigenschap om te beschermen tegen doS-aanvallen (Class of Service) die proberen berichtcomplexiteit te gebruiken om eindpuntverwerkingsbronnen te koppelen.
De WebMessageEncodingBindingElement methode heeft een CreateMessageEncoderFactory methode waarmee een berichtencoderingsfactory wordt gemaakt die JSON-, XML- of Raw-berichtdecoderingen en coderingsprogramma's produceert, afhankelijk van het opgegeven inhoudstype.
Het WebMessageEncodingBindingElement biedt ook de methoden voor het bouwen van de factory's en listeners voor de kanalen waarmee de HTTP-aanvragen stromen.
De samengestelde encoder en de bijbehorende klassen en configuratieonderdelen zijn bruikbaar in gedeeltelijke vertrouwensrelatie en dit gebruik vereist geen speciale machtigingen.
Constructors
| Name | Description |
|---|---|
| WebMessageEncodingBindingElement() |
Initialiseert een nieuw exemplaar van de WebMessageEncodingBindingElement klasse. |
| WebMessageEncodingBindingElement(Encoding) |
Initialiseert een nieuw exemplaar van de WebMessageEncodingBindingElement klasse met een opgegeven schrijftekencodering. |
Eigenschappen
| Name | Description |
|---|---|
| ContentTypeMapper |
Hiermee haalt u op of stelt u in hoe het inhoudstype van een binnenkomend bericht wordt toegewezen aan een indeling. |
| CrossDomainScriptAccessEnabled |
Hiermee wordt een waarde opgehaald of ingesteld die bepaalt of scripttoegang tussen domeinen is ingeschakeld. |
| MaxReadPoolSize |
Hiermee wordt een waarde opgehaald of ingesteld waarmee het maximum aantal lezers wordt opgegeven dat is toegewezen aan een groep en die beschikbaar is voor het verwerken van binnenkomende berichten zonder nieuwe lezers toe te wijzen. |
| MaxWritePoolSize |
Hiermee wordt een waarde opgehaald of ingesteld waarmee het maximum aantal schrijvers wordt opgegeven dat is toegewezen aan een groep en die beschikbaar is voor het verwerken van uitgaande berichten zonder nieuwe schrijvers toe te wijzen. |
| MessageVersion |
Hiermee wordt de berichtversie ophaalt of ingesteld die aangeeft dat het bindingselement geen SOAP of WS-Addressing gebruikt. |
| ReaderQuotas |
Hiermee worden beperkingen opgehaald voor de complexiteit van SOAP-berichten die kunnen worden verwerkt door eindpunten die zijn geconfigureerd met deze binding. |
| WriteEncoding |
Hiermee wordt de tekencodering opgehaald of ingesteld die wordt gebruikt om de berichttekst te schrijven. |
Methoden
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Hiermee wordt de stack van de kanaalfactory gebouwd op de client waarmee een opgegeven type kanaal voor een opgegeven context wordt gemaakt. |
| BuildChannelListener<TChannel>(BindingContext) |
Hiermee wordt de kanaallistenerstack gebouwd op de client die een opgegeven type kanaal accepteert voor een opgegeven context. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
Retourneert een waarde die aangeeft of het bindingselement een kanaalfactory kan bouwen voor een specifiek type kanaal. (Overgenomen van BindingElement) |
| CanBuildChannelListener<TChannel>(BindingContext) |
Retourneert een waarde die aangeeft of de huidige binding een listener kan bouwen voor een opgegeven type kanaal en context. |
| Clone() |
Hiermee maakt u een nieuw WebMessageEncodingBindingElement object dat is geïnitialiseerd op basis van het huidige object. |
| CreateMessageEncoderFactory() |
Hiermee maakt u een berichtencoderingsfactory die berichtcoderingsprogramma's produceert die JavaScript Object Notation (JSON) of XML-berichten kunnen schrijven. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetProperty<T>(BindingContext) |
Retourneert het object van het aangevraagde type, indien aanwezig, van de juiste laag in de kanaalstack of |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Genereert WSDL-contractgegevens op basis van coderingsbeleid dat is opgenomen in het bindingselement. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Genereert WSDL-contractgegevens op basis van coderingsbeleid dat is opgenomen in het bindingselement. |