Elemento <formatter> (modello)
Contiene il provider di sink di canale per un sink del formattatore da inserire nella catena di sink di canale client o server. È possibile includere tale elemento in base a due ordini gerarchici.
<formatter>
Un provider del formattatore specificato in questo ambito diventa un modello utilizzabile dalle istanze <formatter>.
<formatter>
Un provider del formattatore specificato in questo ambito diventa inoltre un modello utilizzabile dalle istanze <formatter>.
<formatter
id="FormatterID"
type="FormatterSinkProviderType, FormatterAssembly"
customFormatterProperty="customProperty"
includeVersions="true"
strictBinding="false"
...typeFilterLevel="Low | Full"
/>
Attributi facoltativi
Attributo | Descrizione |
---|---|
customFormatterProperty |
Indica una proprietà personalizzata di sink di canale supportata. È possibile specificare un numero qualsiasi di proprietà di sink di provider e di canale in grado di essere supportate da provider di sink di canale personalizzati e dai propri sink. Una proprietà personalizzata di sink di canale verrà specificata con una coppia attributo/valore. Nell’esempio
l'attributo È anche possibile specificare in questo ambito i dati personalizzati del provider di sink. È supportato un solo livello di nodi. Nell’esempio
le informazioni aggiuntive saranno disponibili come interfaccia ICollection di SinkProviderData nel costruttore del provider. |
includeVersions |
Indica che un formattatore di invio include informazioni complete sulla versione dell'assembly e sul tipo durante la serializzazione delle informazioni relative al tipo. Per informazioni dettagliate, vedere la sezione Osservazioni riportata di seguito. Il valore predefinito per entrambi i formattatori forniti dal sistema è true. |
strictBinding |
Indica che un formattatore ricevente tenterà in primo luogo di identificare il tipo utilizzando le eventuali informazioni complete sulla versione; altrimenti, utilizzerà solo il nome del tipo e il nome dell'assembly, senza le informazioni sulla versione. Per informazioni dettagliate, vedere la sezione Osservazioni riportata di seguito. Il valore predefinito per entrambi i formattatori forniti dal sistema è false. |
typeFilterLevel |
Valore stringa che specifica il livello di deserializzazione automatica tentato dal formattatore nella catena dei sink del canale server. Valori supportati sono Low (valore predefinito) e Full. Per informazioni dettagliate sui livelli di deserializzazione, vedere Deserializzazione automatica in .NET Remoting. Questa proprietà è supportata solo dalla versione 1.1 di .NET Framework sulle piattaforme seguenti: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional e famiglia Windows Server 2003. |
Attributi obbligatori
Attributo | Descrizione |
---|---|
id |
Specifica una stringa che identifica il provider di sink del formattatore. Questa stringa può essere utilizzata nell'attributo ref di altri utenti per eseguire un'associazione al provider di sink del formattatore in questione. |
type |
Specifica il nome completo di tipo del provider di sink del formattatore e il nome dell'assembly contenente l'implementazione del provider. Se l'assembly che contiene il tipo si trova nella cache di assembly globale, vengono specificate anche le informazioni relative alla versione, alle impostazioni cultura e alla chiave pubblica. |
Osservazioni
A un formatter specificato qui può fare riferimento un elemento di istanza <formatter> altrove in questo o in un altro file di configurazione caricato dalla stessa applicazione.
Nella tabella seguente viene descritta l'interazione tra gli attributi includeVersions e strictBinding, qualora vengano utilizzati contemporaneamente.
includeVersions (formattatore di invio) | strictBinding (formattatore ricevente) | Modalità di caricamento del tipo |
---|---|---|
true |
true |
Viene caricato il tipo esatto oppure viene generata un'eccezione TypeLoadException. |
false |
true |
Il tipo viene caricato utilizzando solo il nome del tipo e il nome dell'assembly; altrimenti viene generata un'eccezione TypeLoadException. |
true |
false |
Se esistente, viene caricato il tipo esatto; altrimenti, il tipo viene caricato utilizzando solo il nome del tipo e il nome dell'assembly. Se il caricamento ha esito negativo, viene generata un'eccezione TypeLoadException. |
false |
false |
Il tipo viene caricato utilizzando solo il nome del tipo e il nome dell'assembly; altrimenti, viene generata un'eccezione TypeLoadException. |
Esempio
Poiché nel file di configurazione seguente vengono utilizzate le istanze <clientProviders>, è necessario specificare tutti i formattatori e i provider che si desidera vengano utilizzati dal canale. In questo caso, l'elemento <formatter> fa riferimento al sink SoapClientFormatterSink e utilizza un elemento di istanza <provider> per assegnare al canale HttpChannel i provider di sink di canale "propsetter" e "null" che sono stati dichiarati con elementi del modello <provider>. Il provider di sink di canale "propsetter", inoltre, viene creato con le proprietà personalizzate del provider specificate come attributi nell'elemento di istanza del provider e come coppie nome/valore dell'attributo figlio <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>
Requisiti
File di configurazione: file di configurazione dell'applicazione, file di configurazione del computer (Machine.config)
Vedere anche
Riferimenti
Schema delle impostazioni remote
BinaryClientFormatterSink
SoapClientFormatterSink
BinaryServerFormatterSink
SoapServerFormatterSink
Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.