WebMessageEncodingBindingElement Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Позволяет считывать и записывать двоичное содержимое при использовании в привязке Windows Communication Foundation (WCF) кодировки сообщений JavaScript (JSON) и "необработанное" двоичное содержимое.
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
- Наследование
- Реализации
Комментарии
Кодировка — это процесс преобразования сообщения в последовательность байтов. Декодирование — это обратный процесс. Для этих процессов требуется спецификация кодировки символов. Эти WebMessageEncodingBindingElement действия выполняются путем делегирования в ряд внутренних кодировщиков для обработки кодировки XML и JSON обычного текста и необработанных двоичных данных. Это делегирование выполняется составным кодировщиком сообщений.
Этот элемент привязки и его составной кодировщик используются для управления кодировкой в сценариях, которые не используют обмен сообщениями SOAP, используемыми в этом кодировщике WebHttpBinding. К этим сценариям относятся "Обычный старый XML" (POX), передача репрезентативного состояния (REST), очень простая синдикация (RSS) и синдикация Atom, а также асинхронная javaScript и XML (AJAX). Кодировщик составных сообщений не поддерживает SOAP или WS-Адресацию, поэтому MessageVersion всегда возвращается None.
Элемент привязки можно настроить с кодировкой символов записи во время построения с помощью конструктора WebMessageEncodingBindingElement(Encoding) . Значение Encoding указывает поведение записи для случаев JSON и Textual XML. При чтении понятно любое допустимое кодирование сообщений и кодировка текста.
Этот конструктор задает значения по умолчанию для максимального количества читателей и записи, выделенных пулам, и которые соответственно доступны для обработки входящих и исходящих сообщений без выделения новых средств чтения или записи. Свойства MaxReadPoolSize и MaxWritePoolSize также можно использовать для задания максимального количества читателей и записи, которые будут выделены соответственно. По умолчанию выделяется 64 читателей и 16 писателей.
Ограничения сложности по умолчанию также задаются этим конструктором XmlDictionaryReaderQuotas в связанном с этим кодировке ReaderQuotas свойством для защиты от атак типа "отказ в обслуживании" (DOS), которые пытаются использовать сложность сообщения для привязки ресурсов обработки конечных точек.
У WebMessageEncodingBindingElement него есть CreateMessageEncoderFactory метод, который создает фабрику кодировщика сообщений, которая создает декодеры JSON, XML или необработанные сообщения и кодировщики в зависимости от указанного типа контента.
Он WebMessageEncodingBindingElement также предоставляет методы для создания фабрик и прослушивателей для каналов, через которые поток HTTP-запросов.
Составной кодировщик и связанные с ним классы и компоненты конфигурации доступны в частичном доверии, и это не требует специальных разрешений.
Конструкторы
| Имя | Описание |
|---|---|
| WebMessageEncodingBindingElement() |
Инициализирует новый экземпляр класса WebMessageEncodingBindingElement. |
| WebMessageEncodingBindingElement(Encoding) |
Инициализирует новый экземпляр WebMessageEncodingBindingElement класса с заданным кодировкой символов записи. |
Свойства
| Имя | Описание |
|---|---|
| ContentTypeMapper |
Возвращает или задает способ сопоставления типа контента входящего сообщения с форматом. |
| CrossDomainScriptAccessEnabled |
Возвращает или задает значение, определяющее, включен ли доступ к междоменному скрипту. |
| MaxReadPoolSize |
Возвращает или задает значение, указывающее максимальное количество читателей, выделенных пулу, и доступное для обработки входящих сообщений без выделения новых средств чтения. |
| MaxWritePoolSize |
Возвращает или задает значение, указывающее максимальное количество записи, выделенное пулу, и доступное для обработки исходящих сообщений без выделения новых средств записи. |
| MessageVersion |
Возвращает или задает версию сообщения, указывающую, что элемент привязки не использует SOAP или WS-Addressing. |
| ReaderQuotas |
Возвращает ограничения на сложность сообщений SOAP, которые могут обрабатываться конечными точками, настроенными с помощью этой привязки. |
| WriteEncoding |
Возвращает или задает кодировку символов, используемую для записи текста сообщения. |
Методы
| Имя | Описание |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Создает стек фабрики каналов на клиенте, который создает указанный тип канала для указанного контекста. |
| BuildChannelListener<TChannel>(BindingContext) |
Создает стек прослушивателя каналов на клиенте, который принимает указанный тип канала для указанного контекста. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
Возвращает значение, указывающее, может ли элемент привязки создать фабрику каналов для определенного типа канала. (Унаследовано от BindingElement) |
| CanBuildChannelListener<TChannel>(BindingContext) |
Возвращает значение, указывающее, может ли текущая привязка создать прослушиватель для указанного типа канала и контекста. |
| Clone() |
Создает новый WebMessageEncodingBindingElement объект, инициализированный из текущей. |
| CreateMessageEncoderFactory() |
Создает фабрику кодировщика сообщений, которая создает кодировщики сообщений, которые могут записывать нотацию объектов JavaScript (JSON) или XML-сообщения. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetProperty<T>(BindingContext) |
Возвращает объект запрошенного типа, если он присутствует, из соответствующего слоя в стеке каналов или |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Создает сведения о контракте WSDL из политик кодирования, содержащихся в элементе привязки. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Создает сведения о контракте WSDL из политик кодирования, содержащихся в элементе привязки. |