Elemento <clientProviders> (istanza)
Questo argomento è specifico di una tecnologia legacy mantenuta per una questione di compatibilità con le applicazioni esistenti di versioni precedenti e non è consigliato per il nuovo sviluppo. Le applicazioni distribuite devono ora essere sviluppate utilizzando Windows Communication Foundation (WCF).
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.
< clientProviders>
I provider specificati eseguono l'override dei provider predefiniti del canale ovunque venga fatto riferimento a tale modello di canale.
< clientProviders>
I provider specificati eseguono l'override dei provider predefiniti solo per questa istanza di canale.
<clientProviders>
<formatter/>
<provider/>
</clientProviders>
Elementi figlio
Elemento | Descrizione |
---|---|
Contiene un sink del formattatore da inserire nella catena di chiamate di sink di canale. Può essere presente una sola volta nell’elemento di istanza <clientProviders>. |
|
Contiene un sink di canale da inserire nella catena di chiamate di sink di canale. Può essere presente una o più volte nell'elemento di istanza <clientProviders>. |
Osservazioni
Se utilizzato in un elemento modello del canale, i provider a cui viene fatto riferimento o quelli dichiarati al livello indicato eseguiranno l'override dei provider predefiniti sostituendosi a essi se viene fatto riferimento al canale in qualche punto del file di configurazione. È importante comprendere che l'uso di tale elemento implica l'esecuzione dell'override di tutti i provider o i formattatori predefiniti per il canale. Se si desidera che tali provider o formattatori facciano parte del modello di canale oltre a eventuali provider personalizzati, è necessario specificare tutti i provider e il formattatore che si desidera utilizzare con il canale quando altri vi fanno riferimento.
Se utilizzato in un'istanza del canale, i provider a cui viene fatto riferimento o quelli dichiarati al livello mostrato eseguiranno l'override dei provider predefiniti del canale solo per questa istanza del canale. Se l'istanza fa riferimento a un modello che dichiara clientProviders, i provider qui indicati eseguiranno l'override completo dei primi.
Esempio
Nel file di configurazione seguente viene utilizzato un elemento modello <channels> per dichiarare un canale HttpChannel con l'id "httpbinary" e viene utilizzato l'elemento modello <clientProviders> per specificare il sink BinaryClientFormatterSink per la serializzazione delle chiamate remote. Viene quindi richiesto che l'applicazione client utilizzi tale particolare configurazione di canale specificando ref="httpbinary"
nell'elemento di istanza <channel> all'interno dell'elemento <application>. Viene infine utilizzato un elemento di istanza <clientProviders> per aggiungere un provider di sink di canale "propsetter" e vengono passati alcuni elementi di configurazione personalizzati che verranno utilizzati dal provider di sink di canale in questione. Si noti che per utilizzare l'attributo type per specificare un tipo in un assembly nella Global Assembly Cache è necessario fornire informazioni complete sui tipi, incluse la versione, le impostazioni cultura e la chiave pubblica. Nell'esempio relativo agli attributi type riportato di seguito, tali informazioni non sono state incluse per sintesi.
<configuration>
<system.runtime.remoting>
<channelSinkProviders>
<clientProviders>
<provider
id="propsetter"
type="ChannelSinkPropertySetterProvider, PropsSink"
/>
</clientProviders>
<channels>
<channel
type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting"
id="httpbinary"
>
<clientProviders>
<formatter type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting"
/>
</clientProviders>
</channel>
</channels>
<application>
<channels>
<channel ref="httpbinary">
<clientProviders>
<provider
ref="propsetter"
username="somename"
writeToConsole="true"
>
<endpoint url="contoso.com:9000" someProp="xyz" />
<endpoint url="contoso.com:9001" someProp="123" />
</provider>
</clientProviders>
</channel>
</channels>
<client>
<wellknown
url="http://computername:80/RemoteType.rem" type="RemoteType, RemoteAssembly"
/>
</client>
</application>
</system.runtime.remoting>
</configuration>
Requisiti
File di configurazione: file di configurazione dell'applicazione, file di configurazione del computer (Machine.config)
Vedere anche
Riferimento
Schema delle impostazioni remote
Concetti
Data di compilazione: 2010-02-13