Cercare di creare un client che invii gli oggetti messaggio serializzati su un server tramite WCF.Configurazione client WCF: come posso verificare se l'endpoint si trova nel file di configurazione e fallback nel codice se non lo è?
Per semplificare le cose allo sviluppatore finale (diversi reparti) sarebbe meglio che non avessero bisogno di sapere come modificare il proprio file di configurazione per impostare i dati del punto finale del client.
Detto questo, sarebbe anche geniale che l'endpoint non fosse incorporato/codificato nel client.
Uno scenario mix sarebbe mi sembra essere la soluzione più semplice per stendere:
IF (descritto in config) Utilizzare file di configurazione di ripiego altro endpoint hard-coded.
Quello che ho scoperto è:
new Client();
fallisce se nessuna definizione file di configurazione trovato.new Client(binding,endpoint);
funziona
quindi:
Client client;
try {
client = new Client();
}catch {
//Guess not defined in config file...
//fall back to hard coded solution:
client(binding, endpoint)
}
Ma esiste un modo per controllo (diversi try/catch) per vedere se il file di configurazione ha dichiarato un endpoint?
Quanto sopra non avrà esito negativo anche se definito nel file di configurazione, ma non configurato correttamente? Sarebbe bene distinguere tra le due condizioni?
Grazie Alex per aver trovato una soluzione. (Wish MS aggiungerebbe questo tipo di metodi allo stesso Framework). –
Il problema (per me) con l'approccio di Alex è che Silverlight non sembra avere la DLL System.Configuration ... :(Quindi puoi ' t leggere il ClientConfig in modo semplice Chiunque ha tutte le idee su come fare questo in Silverlight,/senza/hardwiring roba nel codice Grazie in anticipo –