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


WebMessageEncodingBindingElement Класс

Определение

Обеспечивает чтение и запись сообщений в виде обычного текста XML, сообщений в кодировке JSON (нотация объектов JavaScript), а также необработанного двоичного содержимого, используемого в привязке 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
Наследование
WebMessageEncodingBindingElement
Реализации

Комментарии

Кодирование — это процесс преобразования сообщения в последовательность байтов. Декодирование представляет собой обратный процесс. Эти процессы требуют определения кодировки символов. Функционирование элемента WebMessageEncodingBindingElement заключается в делегировании набору внутренних кодировщиков обработки кодировок в формате обычного XML-текста и JSON, а также необработанных двоичных данных. Делегирование выполняется с помощью составного кодировщика сообщений.

Этот элемент привязки и его составной кодировщик используются для управления кодировкой в сценариях, где не применяется обмен сообщениями по протоколу SOAP, используемый привязкой WebHttpBinding. К таким сценариям относятся: Plain Old XML (POX), REST (Representational State Transfer), RSS (Really Simple Syndication), синдикация Atom и AJAX (Asynchronous JavaScript and XML). Составной кодировщик сообщений не поддерживает SOAP и WS-Addressing, поэтому MessageVersion всегда возвращает None.

Конструктор WebMessageEncodingBindingElement(Encoding) позволяет настроить элемент привязки на этапе создания с использованием кодировки записи. Значение Encoding задает поведение при записи для формата JSON и текстового XML-кода. Для чтения поддерживается любая допустимая кодировка сообщений и кодировка текста.

Этот конструктор задает значения по умолчанию, обозначающие максимальное число выделенных пулам модулей чтения и записи, доступных для обработки входящих и исходящих сообщений без выделения новых модулей чтения или записи. Свойства MaxReadPoolSize и MaxWritePoolSize также могут использоваться для задания максимального числа выделяемых модулей чтения и записи соответственно. По умолчанию выделяется 64 обработчика чтения и 16 обработчиков записи.

Ограничения по сложности по умолчанию также устанавливаются этим конструктором для квот XmlDictionaryReaderQuotas, связанных с этой кодировкой свойством ReaderQuotas, для защиты от атак типа "отказ в обслуживании", в которых сложность сообщения используется для перегрузки ресурсов процессора конечной точки.

Объект 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()

Создает фабрику кодировщиков сообщений, которая, в свою очередь, создает кодировщиков сообщений, которые могут записывать сообщения JSON (JavaScript Object Notation) или 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 из политик кодирования, содержащихся в элементе привязки.

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