Elemento <provider> (istanza)
Contiene il provider di un sink di canale da inserire nella catena di sink di canale.
<provider/>
I provider specificati eseguono l'override dei provider del server predefiniti per il canale in questione, sostituendosi a essi per tale modello di canale.
<provider/>
I provider specificati eseguono l'override dei provider del client predefiniti per il canale in questione, sostituendosi a essi per tale modello di canale.
<provider/>
I provider del server specificati eseguono l'override dei provider predefiniti per l'istanza di canale.
<provider/>
I provider del client specificati eseguono l'override dei provider predefiniti per l'istanza di canale.
<provider
ref="ProviderTemplateReference"
type="ProviderType, ProviderAssembly"
customChannelSinkProperty="customProperty"
/>
Attributi facoltativi
Attributo | Descrizione |
---|---|
customChannelSinkProperty |
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 ICollection di SinkProviderData nel costruttore del provider. |
Attributi obbligatori
Attributo | Descrizione |
---|---|
type |
Specifica il nome completo del tipo del provider di sink di canale 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. |
ref |
Specifica l'ID del modello di provider di sink di canale per il sink di canale che il client dell'utente desidera registrare per l'utilizzo. Se viene specificato un attributo ref, non è necessario specificare un attributo type. |
Note
È possibile fare riferimento a un altro modello di provider fornendo il valore ID di tale modello per l'attributo ref di questa istanza. Se vengono specificati provider, viene eseguito l'override di tutti i provider predefiniti. Se si desidera richiamare altri provider nel corso della catena di chiamate ai sink di canale, essi devono essere specificati qui.
Le istanze dell'elemento <provider> possono essere presenti in quattro posizioni. Quando viene specificato sotto un elemento modello <channel>, sia sotto l'elemento <serverProviders> che sotto l'elemento <clientProviders>, questo elemento specifica un provider che sarà quello di sink predefinito per quel particolare canale quando l'istanza di un'applicazione vi fa riferimento. Se viene specificato sotto un elemento <application>, viene eseguito l'override di qualsiasi sink predefinito che possa essere stato configurato per il canale, se si trovava in un modello. È necessario specificare in questo ambito qualsiasi altro provider che si desidera includere nella catena di chiamate. In tal modo verrà eseguito l'override di tutti i valori predefiniti in qualsiasi modello.
Esempio
Nel file di configurazione seguente viene utilizzato 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>. Inoltre, il provider di sink di canale "propsetter" 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" password="xyz" />
<endpoint url="contoso.com:9001" password="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