다음을 통해 공유


<formatter> 요소(인스턴스)

이 항목은 이전 버전의 기존 응용 프로그램과의 호환성을 위해 유지되고 있으나 새로운 개발에는 권장되지 않는 레거시 기술에 대해 설명합니다. 분산 응용 프로그램은 이제 WCF(Windows Communication Foundation)를 사용하여 개발됩니다.

채널 싱크 체인에 삽입할 포맷터 싱크의 채널 싱크 공급자를 포함합니다. 이 요소는 응용 프로그램 구성 파일과 컴퓨터 구성 파일에 사용할 수 있습니다.

<configuration>

<system.runtime.remoting>

<channels>

<channel>

<serverProviders>

<formatter> 요소(인스턴스)

여기에 지정된 포맷터는 이 채널의 기본 채널 싱크 체인을 재정의하여 이 채널 템플릿의 새 기본값으로 만듭니다.

<configuration>

<system.runtime.remoting>

<channels>

<channel>

<clientProviders>

<formatter> 요소(인스턴스)

여기에 지정된 포맷터는 이 채널의 기본 채널 싱크 체인을 재정의하여 이 채널 템플릿의 새 기본값으로 만듭니다.

<configuration>

<system.runtime.remoting>

<application>

<channels>

<channel>

<serverProviders>

<formatter> 요소(인스턴스)

여기에 지정된 포맷터는 이 채널 인스턴스의 기본 채널 싱크 체인을 재정의합니다.

<configuration>

<system.runtime.remoting>

<application>

<channels>

<channel>

<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

필수 특성입니다.

클라이언트에서 등록하여 사용하려는 포맷터의 포맷터 싱크 공급자 템플릿 ID를 지정합니다. ref 특성을 지정하면 type 특성을 지정하지 않아도 됩니다.

type

필수 특성입니다.

포맷터 싱크 공급자의 전체 형식 이름 및 공급자 구현이 들어 있는 어셈블리의 이름을 지정합니다. 포함하는 어셈블리가 전역 어셈블리 캐시에 있는 경우 버전, 문화권 및 공개 키 정보도 여기에 포함됩니다. 이 특성은 ref 특성을 사용하지 않는 경우에만 필요합니다.

customFormatterProperty

선택적 특성입니다.

지원되는 사용자 지정 포맷터 속성을 나타냅니다. 사용자 지정 포맷터에서 지원하는 포맷터 속성 수는 원하는 만큼 지정할 수 있습니다. 사용자 지정 포맷터 속성에는 특성/값 쌍이 지정됩니다. 예를 들면 다음과 같습니다.<formatter id="CustomFormatterSinkProvider" type="Namespace.CustomFormatterSinkProvider, CustomFormatters" customFormatterProperty="FormatterPropertyValue"/>

includeVersions

선택적 특성입니다.

형식 정보를 serialize할 때, 보내는 포맷터에 완전한 형식 및 어셈블리 버전 정보가 포함되어 있음을 나타냅니다. 중요한 상세 정보는 아래 설명 부분을 참조하십시오. 시스템이 제공한 양쪽 포맷터에 대한 기본값은 true입니다.

strictBinding

선택적 특성입니다.

버전 정보 없이 형식 이름 및 어셈블리 이름만을 사용하기 전에 버전 정보가 존재하는 경우, 받는 포맷터가 먼저 완벽한 버전 정보를 사용하여 형식을 식별함을 나타냅니다. 중요한 상세 정보는 아래 설명 부분을 참조하십시오. 시스템이 제공한 양쪽 포맷터에 대한 기본값은 false입니다.

typeFilterLevel

선택적 특성입니다.

서버 채널 싱크 체인의 포맷터가 시도하는 자동 deserialization의 수준을 지정하는 문자열 값입니다. 지원되는 값은 Low(기본값) 및 Full입니다. deserialization 수준에 대한 자세한 내용은 .NET Remoting에서의 자동 Deserialization을 참조하십시오.

이 속성은 Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 제품군의 .NET Framework 버전 1.1에서만 지원됩니다.

자식 요소

없음

부모 요소

요소 설명

application

응용 프로그램에서 사용하고 노출하는 원격 개체에 대한 정보를 포함합니다.

channel

응용 프로그램에서 원격 개체와 통신하거나 원격 개체에 대한 요청을 수신하기 위해 지정 또는 구성할 수 있는 채널 템플릿을 포함합니다. 채널을 등록하여 사용할 수 있는 모든 위치에서는 해당 인스턴스 채널 요소의 id 특성에 이 템플릿의 ref 특성을 설정할 수 있습니다.

channels

응용 프로그램에서 원격 개체와 통신하는 데 사용하는 채널 템플릿을 포함합니다. 이 요소로 선언하는 채널은 채널이 등록된 모든 위치에서 참조할 수 있습니다.

clientProviders

구성 파일의 다른 위치에서 이 템플릿을 참조할 때 해당 채널 템플릿에 대한 클라이언트측 기본 채널 싱크 호출 체인의 일부로 사용될 채널 싱크 공급자를 포함합니다. 아래의 두 위치에 공급자를 지정하면 이 채널에 대한 기본 채널 싱크가 재정의됩니다. 기본 채널 싱크 중에서 이 템플릿에 대한 채널 싱크 호출 체인에 삽입할 채널 싱크가 있다면 여기에 함께 지정해야 합니다.

configuration

공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 루트 요소입니다.

system.runtime.remoting

원격 개체 및 채널에 대한 정보를 포함합니다.

설명

공급자 템플릿의 id 값을 이 인스턴스의 ref 값으로 사용하면 해당 템플릿을 참조할 수 있습니다. 선언할 수 있는 템플릿 수는 제한되지 않지만, 채널 싱크 호출 체인에는 포맷터 싱크가 하나만 있을 수 있습니다.

<formatter> 인스턴스 요소는 네 가지 위치에 사용할 수 있습니다. <channel> 템플릿 요소(<serverProvider> 또는 <clientProvider> 요소)에 지정하면 이 요소는 모든 채널 기본 포맷터를 재정의하여 응용 프로그램 <channel> 인스턴스에서 해당 채널을 참조할 때 채널의 기본 포맷터 싱크가 되는 포맷터를 지정합니다. <application> 요소에 지정하면 이 요소는 현재 채널 인스턴스 또는 템플릿에 선언되었을 수 있는 모든 포맷터 싱크를 재정의합니다.

다음 표에서는 includeVersionsstrictBinding 특성이 함께 나올 때 이 특성 사이의 상호 작용에 대해 설명합니다.

includeVersions(보내는 포맷터) strictBinding(받는 포맷터) 형식을 로드하는 방법

true

true

정확한 형식이 로드되거나 TypeLoadException이 throw됩니다.

false

true

형식 이름이나 어셈블리 이름만을 사용하여 형식이 로드되거나 TypeLoadException이 throw됩니다.

true

false

정확한 형식이 있으면 로드됩니다. 없으면 형식 이름과 어셈블리 이름만 사용하여 형식이 로드됩니다. 실패하는 경우 TypeLoadException이 throw됩니다.

false

false

형식 이름이나 어셈블리 이름만을 사용하여 형식이 로드되거나 TypeLoadException이 throw됩니다.

예제

다음 구성 파일에서는 HttpChannel과 이진 serialization을 사용할 수 있도록, <formatter> 인스턴스 요소를 사용하여 기본 BinaryClientFormatterSinkProvider를 지정하는 <channel> 인스턴스를 선언합니다.

<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