WebMessageEncodingBindingElement Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Aktiviert Klartext-XML, JavaScript Object Notation (JSON)-Nachrichtencodierungen und unformatierten binären Inhalt, die bei der Verwendung in einer Windows Communication Foundation-Bindung (WCF) gelesen und geschrieben werden sollen.
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
- Vererbung
- Implementiert
Hinweise
Beim Codieren wird eine Nachricht in eine Bytefolge transformiert. Beim Decodieren wird dieser Prozess umgekehrt. Diese Vorgänge erfordern die Angabe einer Zeichencodierung. WebMessageEncodingBindingElement delegiert Vorgänge an eine Reihe innerer Encoder, um die Klartext-XML und JSON-Codierungen sowie die unformatierten binären Daten zu verarbeiten. Diese Delegierung wird von einem zusammengesetzten Nachrichtenencoder durchgeführt.
Dieses Bindungselement und die zusammengesetzten Encoder werden zur Steuerung der Codierung in Szenarien eingesetzt, in denen keine SOAP-Nachrichten von WebHttpBinding verwendet werden. Zu den Szenarien gehören u. a. "Plain Old XML" (POX), Representational State Transfer (REST), Really Simple Syndication (RSS) And Atom Syndication sowie Asynchronous JavaScript And XML (AJAX). Da der zusammengesetzte Nachrichtenencoder weder SOAP noch die WS-Adressierung unterstützt, gibt MessageVersion immer None zurück.
Das Bindungselement kann zum Zeitpunkt der Erstellung mit dem WebMessageEncodingBindingElement(Encoding)-Konstruktor mit einer Schreibzeichencodierung konfiguriert werden. Der Encoding-Wert gibt das Verhalten beim Schreiben für die JSON- und Text-XML-Fälle an. Beim Lesen wird jede gültige Nachrichtencodierung und Textcodierung interpretiert.
Dieser Konstruktor legt die Standardwerte für die maximale Anzahl der Reader und Writer fest, die den Pools zugewiesen werden und die zur Verarbeitung von eingehenden und ausgehenden Nachrichten zur Verfügung stehen, ohne neue Reader und Writer zuweisen zu müssen. Die MaxReadPoolSize-Eigenschaft und die MaxWritePoolSize-Eigenschaft können auch zum Festlegen der maximalen Anzahl an jeweils zuzuweisenden Readern und Writern verwendet werden. Standardmäßig werden 64 Reader und 16 Writer zugeordnet.
Außerdem werden von diesem Konstruktor Standardkomplexitätseinschränkungen in dem XmlDictionaryReaderQuotas, das mit dieser Codierung verknüpft ist, mit der ReaderQuotas-Eigenschaft festgelegt, um vor einer Klasse von Denial-of-Service-Angriffen (DOS) zu schützen, die versuchen, Endpunktverarbeitungsressourcen mithilfe der Nachrichtenkomplexität zu binden.
Das WebMessageEncodingBindingElement verfügt über die CreateMessageEncoderFactory-Methode, mit der eine Nachrichtenencoder-Factory erstellt wird, die wiederum je nach angegebenem Inhaltstyp Decoder und Encoder für JSON- oder XML-Nachrichten sowie für unformatierte Nachrichten generiert.
Das WebMessageEncodingBindingElement stellt auch die Methoden bereit, um Factorys und Listener für die Kanäle, durch die die HTTP-Anforderungen geleitet werden, zu erstellen.
Die zusammengesetzten Encoder und zugewiesenen Klassen und Konfigurationskomponenten sind teilweise vertrauenswürdig, und für ihren Einsatz sind keine Sonderberechtigungen erforderlich.
Konstruktoren
WebMessageEncodingBindingElement() |
Initialisiert eine neue Instanz der WebMessageEncodingBindingElement-Klasse. |
WebMessageEncodingBindingElement(Encoding) |
Initialisiert eine neue Instanz der WebMessageEncodingBindingElement-Klasse mit einer angegebenen Schreibzeichencodierung. |
Eigenschaften
ContentTypeMapper |
Ruft die Methode ab, wie einem Format der Inhaltstyp einer eingehenden Nachricht zugeordnet wird, bzw. legt die Methode fest. |
CrossDomainScriptAccessEnabled |
Ruft einen Wert ab bzw. legt einen Wert fest, der bestimmt, ob der domänenübergreifende Skriptzugriff aktiviert wird. |
MaxReadPoolSize |
Ruft einen Wert ab, der die maximale Anzahl an Readern angibt, die in einem Pool zugeordnet ist und zum Verarbeiten eingehender Nachrichten ohne Zuweisung neuer Reader verfügbar ist oder legt diesen Wert fest. |
MaxWritePoolSize |
Ruft einen Wert ab, der die maximale Anzahl an Writern angibt, die in einem Pool zugeordnet ist und zum Verarbeiten ausgehender Nachrichten ohne Zuweisung neuer Writer verfügbar ist oder legt diesen Wert fest. |
MessageVersion |
Ruft die Nachrichtenversion ab, oder legt sie fest, die angibt, dass das Bindungselement nicht SOAP oder WS-Adressierung verwendet. |
ReaderQuotas |
Ruft Beschränkungen der Komplexität von SOAP-Meldungen ab, die von Endpunkten verarbeitet werden können, die mit dieser Bindung konfiguriert werden. |
WriteEncoding |
Ruft die Zeichencodierung ab, oder legt die Zeichencodierung fest, die zum Schreiben des Nachrichtentextes verwendet wird. |
Methoden
BuildChannelFactory<TChannel>(BindingContext) |
Erstellt den Kanalfactorystapel auf dem Client, der einen angegebenen Kanaltyp für einen angegebenen Kontext erstellt. |
BuildChannelListener<TChannel>(BindingContext) |
Erstellt den Kanallistenerstapel auf dem Client, der einen angegebenen Kanaltyp für einen angegebenen Kontext akzeptiert. |
CanBuildChannelFactory<TChannel>(BindingContext) |
Gibt einen Wert zurück, der angibt, ob das Bindungselement eine Kanalfactory für einen bestimmten Typ von Kanälen erstellen kann. (Geerbt von BindingElement) |
CanBuildChannelListener<TChannel>(BindingContext) |
Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Listener für einen angegebenen Typ von Kanal und Kontext erstellen kann. |
Clone() |
Erstellt ein neues, aus dem aktuellen Objekt initialisiertes WebMessageEncodingBindingElement-Objekt. |
CreateMessageEncoderFactory() |
Erstellt eine Nachrichtenencoder-Factory, die Nachrichtenencoder erstellt, die JSON (JavaScript Object Notation)- oder XML-Nachrichten schreiben. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetProperty<T>(BindingContext) |
Gibt das Objekt des angeforderten Typs zurück. Wenn das Objekt vorliegt, wird es aus der entsprechenden Ebene im Kanalstapel genommen, anderenfalls ist es |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Generiert WSDL-Vertragsinformationen aus im Bindungselement enthaltenen Codierungsrichtlinien. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Generiert WSDL-Vertragsinformationen aus im Bindungselement enthaltenen Codierungsrichtlinien. |