Поделиться через


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
Реализации

Комментарии

Кодировка — это процесс преобразования сообщения в последовательность байтов. Декодирование — это обратный процесс. Для этих процессов требуется спецификация кодировки символов. Эти 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)

Возвращает объект запрошенного типа, если он присутствует, из соответствующего слоя в стеке каналов или null если он отсутствует.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Создает сведения о контракте WSDL из политик кодирования, содержащихся в элементе привязки.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Создает сведения о контракте WSDL из политик кодирования, содержащихся в элементе привязки.

Применяется к