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 заключается в делегировании набору внутренних кодировщиков обработки кодировок в формате обычного 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) |
Возвращает объект запрашиваемого типа из соответствующего уровня стека каналов, если он имеется, или значение |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Создает контрактные данные WSDL из политик кодирования, содержащихся в элементе привязки. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Создает контрактные данные WSDL из политик кодирования, содержащихся в элементе привязки. |