Configurazione di una channel factory
L'esempio ConfigurationChannelFactory illustra l'utilizzo di ConfigurationChannelFactory<TChannel>. ConfigurationChannelFactory<TChannel> consente la gestione centrale della configurazione client WCF. Può essere anche utile in scenari nei quali la configurazione viene selezionata o modificata dopo la fase di caricamento del dominio dell'applicazione.
Dimostra
ConfigurationChannelFactory<TChannel>
Discussione
In questo esempio viene descritto come utilizzare ConfigurationChannelFactory<TChannel> per aggiungere uno specifico file di configurazione a un'applicazione client, senza che sia necessario utilizzare il file di configurazione dell'applicazione predefinito.
L'esempio è costituito da due progetti. Il primo progetto è un servizio semplice in esecuzione per rispondere a messaggi provenienti dai client. Il secondo progetto è un'applicazione client che compila due oggetti ConfigurationChannelFactory<TChannel> utilizzando un ExeConfigurationFileMap per il file di configurazione Test.config e li utilizza per comunicare con il servizio. Entrambi i client comunicano con il servizio utilizzando la configurazione specificata in Test.config.
Il codice seguente aggiunge un file di configurazione personalizzato a un'applicazione client.
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = "Test.config";
Configuration newConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
ConfigurationChannelFactory<ICalculatorChannel> factory1 = new ConfigurationChannelFactory<ICalculatorChannel>("endpoint1", newConfiguration, new EndpointAddress("http://localhost:8000/servicemodelsamples/service"));
ICalculatorChannel client1 = factory1.CreateChannel();
Per impostare, compilare ed eseguire l'esempio
Aprire Visual Studio con privilegi di amministratore.
Fare clic con il pulsante destro del mouse sulla soluzione ConfigurationChannelFactory (2 progetti), quindi selezionare Proprietà.
In Proprietà comuni selezionare Progetto di avvio, quindi fare clic su Progetti di avvio multipli.
Spostare il progetto Service all'inizio dell'elenco, con Azione 'Avvia', quindi spostare il progetto Client dopo il progetto Servizio, anche in questo caso con Azione 'Avvia', affinché il progetto Client venga eseguito dopo il progetto Servizio.
Fare clic su OK, quindi premereF5(o CTRL+F5) per eseguire l'esempio.