Элемент <formatter> (экземпляр)

Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью  Windows Communication Foundation (WCF).

Содержит поставщик приемников каналов для приемника модуля форматирования, который вставляется в цепочку приемников канала. Этот элемент может встречаться в файле конфигурации приложения и в файле конфигурации компьютера.

<конфигурация>

<system.runtime.remoting>

<каналы>

<канал>

<serverProviders>

Элемент <formatter> (экземпляр)

В данном случае модуль форматирования переопределяет принятую по умолчанию цепочку приемников данного канала, чтобы стать новым приемником по умолчанию для этого шаблона канала.

<конфигурация>

<system.runtime.remoting>

<каналы>

<канал>

<clientProviders>

Элемент <formatter> (экземпляр)

В данном случае модуль форматирования переопределяет принятую по умолчанию цепочку приемников данного канала, чтобы стать новым приемником по умолчанию для этого шаблона канала.

<конфигурация>

<system.runtime.remoting>

<application>

<каналы>

<канал>

<serverProviders>

Элемент <formatter> (экземпляр)

В данном случае модуль форматирования переопределяет принятую по умолчанию цепочку приемников данного экземпляра канала.

<конфигурация>

<system.runtime.remoting>

<application>

<каналы>

<канал>

<clientProviders>

Элемент <formatter> (экземпляр)

В данном случае модуль форматирования переопределяет принятую по умолчанию цепочку приемников данного экземпляра канала.

Schema Hierarchy

<configuration>
  Элемент <system.runtime.remoting>
    Элемент <application>
      Элемент <channels> (экземпляр)
        Элемент <channel> (экземпляр)
          Элемент <clientProviders> (экземпляр)
            Элемент <formatter> (экземпляр)

Синтаксис

<formatter 
   ref="FormatterReference"
   type="FormatterSinkProviderType, FormatterAssembly"
   customFormatterProperty="customProperty"
   includeVersions="true"
   strictBinding="false"
...typeFilterLevel="Low | Full"
/>

Атрибуты и элементы

В следующих разделах описываются атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут Описание

ref

Обязательный атрибут.

Задает ИД шаблона поставщика приемника модуля форматирования для модуля форматирования, который планирует зарегистрировать и использовать клиент. Если атрибут ref задан, задавать атрибут type не требуется.

type

Обязательный атрибут.

Задает полное имя типа поставщика приемника модуля форматирования и имя сборки, содержащей реализацию поставщика. Включает сведения о версии, языке и региональных параметрах, а также об открытом ключе, если соответствующая сборка принадлежит к глобальному кэшу сборок. Данный атрибут является обязательным, только если не используется атрибут ref.

customFormatterProperty

Необязательный атрибут.

Задает поддерживаемое пользовательское свойство модуля форматирования. Можно задать любое число свойств, которые могут поддерживаться пользовательским модулем форматирования. Для пользовательского свойства модуля форматирования задается пара "атрибут-значение". Например:<formatter id="CustomFormatterSinkProvider" type="Namespace.CustomFormatterSinkProvider, CustomFormatters" customFormatterProperty="FormatterPropertyValue"/>

includeVersions

Необязательный атрибут.

Указывает, что отправляющий модуль форматирования при сериализации сведений о типе включает полные сведения о типе и версии сборки. Важные сведения см. ниже в разделе "Заметки". Для обоих предоставляемых системой модулей форматирования значение по умолчанию — true.

strictBinding

Необязательный атрибут.

Указывает, что принимающий модуль форматирования сначала попробует определить тип при помощи полных сведений о версии, если они имеются, а лишь затем будет использовать только имя типа и имя сборки без сведений о версии. Важные сведения см. ниже в разделе "Заметки". Для обоих предоставляемых системой модулей форматирования значение по умолчанию — false.

typeFilterLevel

Необязательный атрибут.

Строковое значение, задающее уровень автоматической десериализации, которую пытается выполнить модуль форматирования в серверной цепочке приемников канала. Поддерживаемые значения: Low (по умолчанию) и Full. Дополнительные сведения об уровнях десериализации см. в разделе Автоматическая десериализация при удаленном взаимодействии .NET.

Это свойство поддерживается только в .NET Framework версии 1.1 на следующих платформах: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional и в семействе Windows Server 2003.

Дочерние элементы

Нет.

Родительские элементы

Элемент Описание

application

Содержит сведения об удаленных объектах, которые использует и предоставляет приложение.

channel

Содержит шаблон канала, который приложение может указать и настроить для взаимодействия или ожидания запросов удаленных объектов. Везде, где можно зарегистрировать для использования канал, можно задать атрибут id элемента channel этого экземпляра в атрибуте ref этого шаблона.

channels

Содержит шаблоны канала, которые используются приложением для взаимодействия с удаленными объектами. Каналы, объявленные в рамках этого элемента, доступны для ссылки в любой системе, в которой зарегистрирован канал.

clientProviders

Содержит поставщики для приемников каналов, которые должны стать частью установленной по умолчанию цепочки вызовов приемника канала на стороне клиента для этого шаблона канала, когда он упоминается в другом месте файла конфигурации. Указание поставщиков в любой из следующих позиций переопределяет принятые по умолчанию приемники канала для данного канала; если предполагается добавить любые из принятых по умолчанию приемники каналов в цепочку вызовов приемника канала, необходимо указать их здесь.

configuration

Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями платформы .NET Framework.

system.runtime.remoting

Содержит сведения об удаленных объектах и каналах.

Замечания

Ссылку на шаблон поставщика можно задать путем указания значения id этого шаблона в качестве значения ref данного экземпляра. Хотя можно объявить произвольное число шаблонов, в цепочку приемников канала можно включить только один приемник модуля форматирования.

Элемент экземпляра <formatter> может указываться в четырех местах. При указании внутри элемента шаблона <channel> (в элементе <serverProvider> или <clientProvider>) данный элемент задает модуль форматирования, который переопределяет модуль форматирования канала по умолчанию и становится приемником модуля форматирования по умолчанию для конкретного канала, если на него ссылается экземпляр <channel> приложения. При указании в элементе <application> он переопределяет все приемники модуля форматирования, которые могли быть объявлены в текущем экземпляре или шаблоне канала.

В следующей таблице приводится описание взаимосвязи между атрибутами includeVersions и strictBinding, если они указываются вместе.

includeVersions (отправляющий модуль форматирования) strictBinding (принимающий модуль форматирования) Загрузка типа

true

true

Загружается точный тип или создается исключение TypeLoadException.

false

true

Тип загружается с использованием только имени типа и имени сборки или создается исключение TypeLoadException.

true

false

Загружается точный тип, если он имеется; в противном случае тип загружается с использованием только имени типа и имени сборки. Если загрузить тип не удается, создается исключение TypeLoadException.

false

false

Тип загружается с использованием только имени типа и имени сборки или создается исключение TypeLoadException.

Примеры

В следующем файле конфигурации объявляется экземпляр <channel>, который использует элемент экземпляра <formatter>, чтобы определить, что поставщик BinaryClientFormatterSinkProvider по умолчанию должен использовать двоичную сериализацию в канале HttpChannel.

<configuration>
   <system.runtime.remoting>
      <application>
         <channels>
            <channel ref="http">
               <clientProviders>
                  <formatter ref="binary"/>
               </clientProviders>
            </channel>
         </channels>
         <client>
            <wellknown 
               url="http://computername:80/RemoteType.rem" 
               type="RemoteType, RemoteAssembly"
            />
         </client>
      </application>
   </system.runtime.remoting>
</configuration>

См. также

Справочник

Схема параметров удаленного взаимодействия
BinaryClientFormatterSink
SoapClientFormatterSink
BinaryServerFormatterSink
SoapServerFormatterSink

Дата сборки: 2010-02-13