Elemento <formatter> (istanza)

Contiene il provider di sink di canale per un sink del formattatore da inserire nella catena di sink di canale.

<configuration>   <system.runtime.remoting>      <channels>         <channel>            <serverProviders>               <formatter/>

Un formattatore specificato esegue l'override della catena di sink di canale predefinito per il canale in questione, sostituendosi a esso per tale modello di canale.

<configuration>   <system.runtime.remoting>      <channels>         <channel>            <clientProviders>                 <formatter/>

Un formattatore specificato esegue l'override della catena di sink di canale predefinito per il canale in questione, sostituendosi a esso per tale modello di canale.

<configuration>   <system.runtime.remoting>      <application>         <channels>            <channel>               <serverProviders>                  <formatter/>

Un formattatore specificato esegue l'override della catena di sink di canale predefinito per l'istanza del canale.

<configuration>   <system.runtime.remoting>      <application>         <channels>            <channel>               <clientProviders>                  <formatter/>

Un formattatore specificato esegue l'override della catena di sink di canale predefinito per l'istanza del canale.

Elemento <Configuration>
  Elemento <system.runtime.remoting>
    Elemento <application>
      Elemento <channels> (istanza)
        Elemento <channel> (istanza)
          Elemento <clientProviders> (istanza)
            Elemento <formatter> (istanza)

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

Attributi ed elementi

Nelle sezioni riportate di seguito vengono illustrati attributi, elementi figlio ed elementi padre.

Attributi

Attributo Descrizione

ref

Attributo obbligatorio.

Specifica l'ID del modello del provider di sink del formattatore per il formattatore che il client dell'utente intende registrare per l'utilizzo. Se viene specificato un attribuito ref, non è necessario specificare un attributo type.

type

Attributo obbligatorio.

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 si trova nella Global Assembly Cache, tale nome include le informazioni relative alla versione, alla lingua e alla chiave pubblica. Questo attributo è necessario solo se non viene utilizzato un attributo ref.

customFormatterProperty

Attributo facoltativo.

Indica una proprietà personalizzata e supportata del formattatore. È possibile specificare un numero qualsiasi di proprietà del formattatore in grado di essere supportate dai formattatori personalizzati. Una proprietà personalizzata del formattatore verrà specificata con una coppia attributo/valore. Ad esempio: <formatter id="CustomFormatterSinkProvider" type="Namespace.CustomFormatterSinkProvider, CustomFormatters" customFormatterProperty="FormatterPropertyValue"/>

includeVersions

Attributo facoltativo.

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

Attributo facoltativo.

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

Attributo facoltativo.

Valore String 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 in .NET Framework versione 1.1 con le seguenti piattaforme: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione

application

Contiene informazioni relative a oggetti remoti utilizzati ed esposti dall'applicazione.

channel

Contiene il modello di canale che può essere specificato e configurato dall'applicazione per comunicare con oggetti remoti o per attendere richieste per tali oggetti. In tutte le posizioni in cui un canale può essere registrato per l'uso, è possibile impostare l'attributo id dell'elemento del canale dell'istanza in questione sull'attributo ref del modello.

channels

Contiene i modelli di canale utilizzati dall'applicazione per comunicare con oggetti remoti. È possibile fare riferimento ai canali dichiarati sotto questo elemento da qualsiasi posizione in cui è registrato un canale.

clientProviders

Contiene i provider per i sink di canale che devono diventare parte della catena di chiamate di sink di canale sul lato client predefinita per il modello di canale quando si fa riferimento a tale modello in altri punti del file di configurazione. Se vengono specificati provider, viene eseguito l'override dei sink di canale predefiniti per il canale. Se si desidera inserire tali sink di canale predefiniti nella catena di chiamate di sink di canale per il modello, è necessario specificare anche tali sink.

configuration

È l'elemento di primo livello in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

system.runtime.remoting

Contiene informazioni relative a oggetti e canali remoti.

Note

È possibile fare riferimento a un modello di provider utilizzando il relativo valore id come valore ref dell'istanza. Sebbene sia possibile dichiarare un numero qualsiasi di modelli, in una catena di chiamate di sink di canale può essere presente un solo sink del formattatore.

L'elemento di istanza <formatter> può essere inserito in quattro posizioni. Quando viene specificato sotto un elemento modello <channel>, sia nell'elemento <serverProvider> che in quello <clientProvider>, questo elemento specifica un formattatore che eseguirà l'override di tutti i formattatori predefiniti del canale sostituendosi a essi per il canale in questione quando viene fatto riferimento a quest'ultimo in un'istanza <channel> dell'applicazione. Quando l'elemento di istanza viene specificato sotto un elemento <application>, viene eseguito l'override di qualsiasi sink del formattatore dichiarato nel modello o nell'istanza di canale corrente.

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

Nel file di configurazione seguente viene dichiarata un'istanza <channel> che utilizza l'elemento di istanza <formatter> per specificare il provider BinaryClientFormatterSinkProvider predefinito per l'utilizzo della serializzazione binaria con il canale 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>

Vedere anche

Riferimenti

Schema delle impostazioni remote
BinaryClientFormatterSink
SoapClientFormatterSink
BinaryServerFormatterSink
SoapServerFormatterSink