WebMessageEncodingBindingElement Klas

Definitie

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
WebMessageEncodingBindingElement
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 null als het niet aanwezig is.

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.

Van toepassing op