WebMessageEncodingBindingElement Klasa

Definicja

Umożliwia kodowanie komunikatów w formacie XML w postaci zwykłego tekstu, kodowanie komunikatów JavaScript Object Notation (JSON) i "nieprzetworzoną" zawartość binarną do odczytu i zapisu w przypadku użycia w powiązaniu programu 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
Dziedziczenie
WebMessageEncodingBindingElement
Implementuje

Uwagi

Kodowanie to proces przekształcania komunikatu w sekwencję bajtów. Dekodowanie jest procesem odwrotnym. Te procesy wymagają specyfikacji kodowania znaków. Działa WebMessageEncodingBindingElement przez delegowanie do serii koderów wewnętrznych w celu obsługi kodowań XML i JSON w postaci zwykłego tekstu oraz "nieprzetworzonych" danych binarnych. To delegowanie jest wykonywane przez koder komunikatów złożonych.

Ten element powiązania i koder złożony służą do kontrolowania kodowania w scenariuszach, które nie używają komunikatów SOAP używanych przez WebHttpBindingprogram . Te scenariusze obejmują "Zwykły stary kod XML" (POX), reprezentacjowy transfer stanu (REST), naprawdę proste syndykację (RSS) i syndykację atomów oraz asynchroniczne javaScript i XML (AJAX). Koder komunikatów złożonych nie obsługuje protokołu SOAP ani adresowania WS, dlatego MessageVersion zawsze zwraca wartość None.

Element powiązania można skonfigurować przy użyciu kodowania znaków zapisu w czasie budowy przy użyciu konstruktora WebMessageEncodingBindingElement(Encoding) . Wartość Encoding określa zachowanie zapisu dla przypadków JSON i Textual XML. Podczas odczytywania wszystkie prawidłowe kodowanie komunikatów i kodowanie tekstu są zrozumiałe.

Ten konstruktor ustawia wartości domyślne dla maksymalnej liczby czytelników i pisarzy, które są przydzielane do pul i które są odpowiednio dostępne do przetwarzania przychodzących i wychodzących wiadomości bez przydzielania nowych czytelników lub pisarzy. Właściwości MaxReadPoolSize i MaxWritePoolSize mogą być również używane do ustawiania maksymalnej liczby czytelników i pisarzy do przydzielenia odpowiednio. Domyślnie przydzielane są 64 czytniki i 16 pisarzy.

Domyślne ograniczenia złożoności są również ustawiane przez ten konstruktor na XmlDictionaryReaderQuotas skojarzonym z tym kodowaniem przez ReaderQuotas właściwość w celu ochrony przed atakami typu "odmowa usługi" (DOS), które próbują wykorzystać złożoność komunikatu w celu powiązania zasobów przetwarzania punktu końcowego.

Ma WebMessageEncodingBindingElement metodę CreateMessageEncoderFactory , która tworzy fabrykę kodera komunikatów, która tworzy dekodatory komunikatów JSON, XML lub Nieprzetworzone i kodery zgodnie z potrzebami w zależności od określonego typu zawartości.

Udostępnia WebMessageEncodingBindingElement również metody tworzenia fabryk i odbiorników dla kanałów, za pośrednictwem których przepływ żądań HTTP.

Koder złożony i skojarzone z nim klasy i składniki konfiguracji mogą być używane w częściowym zaufaniu, a to użycie nie wymaga żadnych specjalnych uprawnień.

Konstruktory

WebMessageEncodingBindingElement()

Inicjuje nowe wystąpienie klasy WebMessageEncodingBindingElement.

WebMessageEncodingBindingElement(Encoding)

Inicjuje WebMessageEncodingBindingElement nowe wystąpienie klasy z określonym kodowaniem znaków zapisu.

Właściwości

ContentTypeMapper

Pobiera lub ustawia sposób mapowania typu zawartości przychodzącego komunikatu na format.

CrossDomainScriptAccessEnabled

Pobiera lub ustawia wartość określającą, czy jest włączony dostęp do skryptu między domenami.

MaxReadPoolSize

Pobiera lub ustawia wartość określającą maksymalną liczbę czytników przydzielonych do puli i dostępną do przetwarzania komunikatów przychodzących bez przydzielania nowych czytelników.

MaxWritePoolSize

Pobiera lub ustawia wartość określającą maksymalną liczbę pisarzy przydzielonych do puli i dostępną do przetwarzania komunikatów wychodzących bez przydzielania nowych pisarzy.

MessageVersion

Pobiera lub ustawia wersję komunikatu wskazującą, że element powiązania nie używa protokołu SOAP ani adresowania WS.

ReaderQuotas

Pobiera ograniczenia dotyczące złożoności komunikatów PROTOKOŁU SOAP, które mogą być przetwarzane przez punkty końcowe skonfigurowane za pomocą tego powiązania.

WriteEncoding

Pobiera lub ustawia kodowanie znaków używane do pisania tekstu wiadomości.

Metody

BuildChannelFactory<TChannel>(BindingContext)

Tworzy stos fabryki kanałów na kliencie, który tworzy określony typ kanału dla określonego kontekstu.

BuildChannelListener<TChannel>(BindingContext)

Tworzy stos odbiornika kanału na kliencie, który akceptuje określony typ kanału dla określonego kontekstu.

CanBuildChannelFactory<TChannel>(BindingContext)

Zwraca wartość wskazującą, czy element powiązania może utworzyć fabrykę kanałów dla określonego typu kanału.

(Odziedziczone po BindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć odbiornik dla określonego typu kanału i kontekstu.

Clone()

Tworzy nowy WebMessageEncodingBindingElement obiekt zainicjowany na podstawie bieżącego obiektu.

CreateMessageEncoderFactory()

Tworzy fabrykę kodera komunikatów, która tworzy kodery komunikatów, które mogą zapisywać komunikaty JavaScript Object Notation (JSON) lub XML.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetProperty<T>(BindingContext)

Zwraca obiekt typu żądanego, jeśli istnieje, z odpowiedniej warstwy w stosie kanału lub null jeśli nie jest obecny.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Generuje informacje o kontrakcie WSDL na podstawie zasad kodowania zawartych w elemecie powiązania.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Generuje informacje o kontrakcie WSDL na podstawie zasad kodowania zawartych w elemecie powiązania.

Dotyczy