<formatter> 요소(템플릿)
서버 또는 클라이언트 채널 싱크 체인에 삽입할 포맷터 싱크의 채널 싱크 공급자를 포함합니다. 이 요소를 포함시킬 때는 두 가지 계층 구조를 사용할 수 있습니다.
<formatter>
여기에 지정하는 포맷터 공급자는 <formatter> 인스턴스에서 사용하는 템플릿이 됩니다.
<formatter>
여기에 지정하는 포맷터 공급자도 <formatter> 인스턴스에서 사용하는 템플릿이 됩니다.
<formatter
id="FormatterID"
type="FormatterSinkProviderType, FormatterAssembly"
customFormatterProperty="customProperty"
includeVersions="true"
strictBinding="false"
...typeFilterLevel="Low | Full"
/>
선택적 특성
특성 | 설명 |
---|---|
customFormatterProperty |
지원되는 사용자 지정 채널 싱크 속성을 나타냅니다. 사용자 지정 채널 싱크 공급자와 해당 공급자 싱크에서 지원하는 공급자 및 채널 싱크 속성 수는 원하는 만큼 지정할 수 있습니다. 사용자 지정 채널 싱크 속성에는 특성/값 쌍이 지정됩니다. 예제:
이 예제에서 여기에 사용자 지정 싱크 공급자 데이터도 지정할 수 있는데, 한 수준의 노드만 지원됩니다. 예제:
이 예제에서 추가 정보는 공급자의 생성자에서 SinkProviderData의 ICollection으로 사용할 수 있습니다. |
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에서만 지원됩니다. |
필수 특성
특성 | 설명 |
---|---|
id |
이 포맷터 싱크 공급자를 식별하는 문자열입니다. 다른 요소에서 이 문자열을 해당 ref 특성에 사용하여 이 포맷터 싱크 공급자에 바인딩할 수도 있습니다. |
type |
포맷터 싱크 공급자의 전체 형식 이름 및 공급자 구현이 들어 있는 어셈블리의 이름을 지정합니다. 포함하는 어셈블리가 전역 어셈블리 캐시에 있는 경우 버전, 문화권 및 공개 키 정보도 여기에 포함됩니다. |
설명
여기에 지정하는 포맷터는 이 구성 파일 또는 동일한 응용 프로그램에서 로드하는 다른 구성 파일의 다른 위치에 있는 <formatter> 인스턴스 요소에서 참조할 수 있습니다.
다음 표에서는 includeVersions과 strictBinding 특성이 함께 나올 때 이 특성 사이의 상호 작용에 대해 설명합니다.
includeVersions(보내는 포맷터) | strictBinding(받는 포맷터) | 형식을 로드하는 방법 |
---|---|---|
true |
true |
정확한 형식이 로드되거나 TypeLoadException이 throw됩니다. |
false |
true |
형식 이름이나 어셈블리 이름만을 사용하여 형식이 로드되거나 TypeLoadException이 throw됩니다. |
true |
false |
정확한 형식이 있으면 로드됩니다. 없으면 형식 이름과 어셈블리 이름만 사용하여 형식이 로드됩니다. 실패하는 경우 TypeLoadException이 throw됩니다. |
false |
false |
형식 이름과 어셈블리 이름만을 사용하여 형식이 로드되거나 TypeLoadException이 throw됩니다 |
예제
다음 구성 파일에서는 <clientProviders> 인스턴스를 사용하므로, 해당 채널에서 사용할 포맷터 및 공급자를 모두 지정해야 합니다. 이 예제에서 <formatter> 요소는 SoapClientFormatterSink를 참조하며, <provider> 인스턴스 요소를 사용하여 <provider> 템플릿 요소로 선언된 "propsetter" 및 "null" 채널 싱크 공급자를 HttpChannel에 할당합니다. 여기에서 "propsetter" 채널 싱크 공급자는 공급자 인스턴스 요소의 특성 및 자식 <endpoint>
특성의 이름/값 쌍으로 지정된 사용자 지정 공급자 속성을 사용하여 만들어집니다.
<configuration>
<system.runtime.remoting>
<application>
<client>
<wellknown
type="RemoteType, RemoteAssembly"
url="http://computername:8080/RemoteType.rem"/>
</client>
<channels>
<channel ref="http">
<clientProviders>
<formatter ref="soap"/>
<provider
ref="propsetter"
username="bob"
writeToConsole="true"
>
<endpoint url="contoso.com:9000" someProperty="xyz" />
<endpoint url="contoso.com:9001" someProperty="123" />
</provider>
<provider ref="null" writeToConsole="true" />
</clientProviders>
</channel>
</channels>
</application>
<channelSinkProviders>
<clientProviders>
<provider
id="propsetter"
type="ChannelSinkPropertySetterProvider, SinkAssembly"
/>
<provider
id="null"
type="NullSinkProvider, SinkAssembly"
/>
</clientProviders>
</channelSinkProviders>
<debug loadTypes="true" />
</system.runtime.remoting>
</configuration>
요구 사항
구성 파일: 응용 프로그램 구성 파일, 컴퓨터 구성 파일(Machine.config)
참고 항목
참조
원격 설정 스키마
BinaryClientFormatterSink
SoapClientFormatterSink
BinaryServerFormatterSink
SoapServerFormatterSink
Copyright © 2007 by Microsoft Corporation. All rights reserved.