Sie möchten einen Client erstellen, der serialisierte Nachrichtenobjekte über WCF an einen Server sendet.WCF-Client-Konfiguration: Wie kann ich prüfen, ob der Endpunkt in der Konfigurationsdatei ist, und Fallback auf den Code, wenn nicht?
Um den Endentwicklern (verschiedenen Abteilungen) die Arbeit zu erleichtern, wäre es am besten, wenn sie nicht wissen müssten, wie sie ihre Konfigurationsdatei bearbeiten müssen, um die Client-Endpunktdaten einzurichten.
Das gesagt, wäre auch genial, dass der Endpunkt auch nicht in den Client eingebettet/fest codiert war.
Ein Mix Szenario erscheint mir würde die einfachste Lösung zu sein Roll-out: Endpunkt
IF (beschrieben in config) USE Konfigurationsdatei ELSE Rückfall auf hartcodiert.
Was herausgefunden, ich habe, ist:
new Client();
schlägt fehl, wenn keine Konfigurationsdatei Definition gefunden.new Client(binding,endpoint);
arbeitet
daher:
Client client;
try {
client = new Client();
}catch {
//Guess not defined in config file...
//fall back to hard coded solution:
client(binding, endpoint)
}
Aber gibt es eine Möglichkeit, um Check (außer try/catch) zu sehen, ob Konfigurationsdatei ein Endpunkt erklärt hat?
Würde das obige auch nicht fehlschlagen, wenn in der Konfigurationsdatei definiert, aber nicht richtig konfiguriert? Wäre es gut, zwischen den beiden Bedingungen zu unterscheiden?
Danke Alex für die Suche nach einer Lösung. (Wish MS würde diese Arten von Methoden zum Framework selbst hinzufügen.) –
Das Problem (für mich) mit Alex Ansatz ist, dass Silverlight scheint nicht die System.Configuration DLL ... :(So können Sie ' t lesen Sie die ClientConfig auf einfache Weise wer eine Idee hat, wie dies in Silverlight zu tun,/ohne/stuff in den Code Hardwiring Vielen Dank im Voraus –