WebMessageEncodingBindingElement Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Umožňuje čtení a zápis prostého textu XML, javascriptové notace (JSON) zpráv a "nezpracovaného" binárního obsahu při použití ve vazbě 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
- Dědičnost
- Implementuje
Poznámky
Kódování je proces transformace zprávy na sekvenci bajtů. Dekódování je zpětný proces. Tyto procesy vyžadují specifikaci kódování znaků. Funguje WebMessageEncodingBindingElement tak, že deleguje na řadu vnitřních kodérů pro zpracování kódování XML a JSON ve formátu prostého textu a "nezpracovaných" binárních dat. Toto delegování se provádí pomocí složeného kodéru zpráv.
Tento element vazby a jeho složený kodér se používají k řízení kódování ve scénářích, které nepoužívají zasílání zpráv SOAP používané .WebHttpBinding Tyto scénáře zahrnují "Plain Old XML" (POX), Representational State Transfer (REST), RSS (Really Simple Syndication) a Atom syndikation a Asynchronous JavaScript and XML (AJAX). Složený kodér zpráv nepodporuje soap nebo WS-Addressing, a proto MessageVersion vždy vrací None.
Element vazby lze nakonfigurovat s kódováním znaků zápisu v době vytváření pomocí konstruktoru WebMessageEncodingBindingElement(Encoding) . Hodnota Encoding určuje chování při zápisu v případech JSON a Textal XML. Při čtení se rozumí jakémukoli platnému kódování zpráv a kódování textu.
Tento konstruktor nastavuje výchozí hodnoty maximálního počtu čtenářů a zapisovačů, které jsou přiděleny fondům a které jsou k dispozici pro zpracování příchozích a odchozích zpráv bez přidělování nových čtenářů nebo zapisovačů. Vlastnosti MaxReadPoolSize a MaxWritePoolSize lze také použít k nastavení maximálního počtu čtenářů a zapisovačů, které mají být přiděleny. Ve výchozím nastavení je přiděleno 64 čtenářů a 16 autorů.
Výchozí omezení složitosti jsou také nastavena tímto konstruktorem přidruženého XmlDictionaryReaderQuotas k tomuto kódování ReaderQuotas vlastností k ochraně před třídou útoků dos (Denial of Service), které se snaží použít složitost zpráv k vázání prostředků zpracování koncového bodu.
WebMessageEncodingBindingElement Má metoduCreateMessageEncoderFactory, která podle potřeby vytvoří objekt pro kodér zpráv, který v závislosti na zadaném typu obsahu vytvoří dekodéry a kodéry zpráv JSON, XML nebo Raw.
Poskytuje WebMessageEncodingBindingElement také metody pro sestavení továren a naslouchacích procesů pro kanály, přes které proudí požadavky HTTP.
Složený kodér a jeho přidružené třídy a součásti konfigurace jsou použitelné v částečném vztahu důvěryhodnosti a toto použití nevyžaduje žádná zvláštní oprávnění.
Konstruktory
WebMessageEncodingBindingElement() |
Inicializuje novou instanci WebMessageEncodingBindingElement třídy . |
WebMessageEncodingBindingElement(Encoding) |
Inicializuje novou instanci WebMessageEncodingBindingElement třídy se zadaným kódováním znaků zápisu. |
Vlastnosti
ContentTypeMapper |
Získá nebo nastaví, jak typ obsahu příchozí zprávy je mapován na formát. |
CrossDomainScriptAccessEnabled |
Získá nebo nastaví hodnotu, která určuje, zda je povolen přístup mezi doménovými skripty. |
MaxReadPoolSize |
Získá nebo nastaví hodnotu, která určuje maximální počet čtenářů, který je přidělen do fondu a který je k dispozici pro zpracování příchozích zpráv bez přidělení nových čtenářů. |
MaxWritePoolSize |
Získá nebo nastaví hodnotu, která určuje maximální počet zapisovačů, který je přidělen do fondu a který je k dispozici pro zpracování odchozích zpráv bez přidělování nových zapisovačů. |
MessageVersion |
Získá nebo nastaví verzi zprávy, která označuje, že element vazby nepoužívá SOAP nebo WS-Addressing. |
ReaderQuotas |
Získá omezení složitosti zpráv SOAP, které mohou být zpracovány koncovými body nakonfigurovanými pomocí této vazby. |
WriteEncoding |
Získá nebo nastaví kódování znaků, které se používají k zápisu textu zprávy. |
Metody
BuildChannelFactory<TChannel>(BindingContext) |
Sestaví zásobník pro vytváření kanálů na klientovi, který vytvoří zadaný typ kanálu pro zadaný kontext. |
BuildChannelListener<TChannel>(BindingContext) |
Sestaví zásobník naslouchacího procesu kanálu na klientovi, který přijímá zadaný typ kanálu pro zadaný kontext. |
CanBuildChannelFactory<TChannel>(BindingContext) |
Vrátí hodnotu, která označuje, zda element vazby může vytvořit objekt pro vytváření kanálů pro konkrétní typ kanálu. (Zděděno od BindingElement) |
CanBuildChannelListener<TChannel>(BindingContext) |
Vrátí hodnotu, která označuje, zda aktuální vazba může sestavit naslouchací proces pro zadaný typ kanálu a kontextu. |
Clone() |
Vytvoří nový WebMessageEncodingBindingElement objekt inicializovaný z aktuálního objektu. |
CreateMessageEncoderFactory() |
Vytvoří objekt pro kodér zpráv, který vytváří kodéry zpráv, které můžou zapisovat zprávy JSON (JavaScript Object Notation) nebo zprávy XML. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetProperty<T>(BindingContext) |
Vrátí objekt požadovaného typu, pokud je k dispozici, z příslušné vrstvy v zásobníku kanálů nebo |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Generuje informace o kontraktu WSDL ze zásad kódování obsažených v elementu vazby. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Generuje informace o kontraktu WSDL ze zásad kódování obsažených v elementu vazby. |