WebMessageEncodingBindingElement Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 |
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. |