10 Stimmen

Vor- und Nachteile der wcf-Konfigurationsdatei gegenüber der Konfiguration im Code

Ich habe einen selbst gehosteten C# WCF-Dienst, der über 20 Endpunkte für verschiedene Zwecke erstellt. Jeder Endpunkt ist im Code selbst konfiguriert mit einigen grundlegenden Konfigurationselementen in der app.config des Dienstes wie Port und Adresse. Der Dienst funktioniert gut für die getesteten Clients, wurde aber nicht weit verbreitet getestet.

Ich war etwas misstrauisch gegenüber dem standardmäßigen WCF-Konfigurationsdatei-Ansatz, weil ich befürchtete, dass der Endbenutzer Dinge durcheinander bringen könnte und daher alles im Code gemacht habe.

Ist es eine bessere Idee, die Konfiguration in der Konfigurationsdatei zu machen, weil der Endbenutzer sie dann an seine Bedürfnisse anpassen kann, oder reicht der Ansatz im Code für die meisten Bedürfnisse aus?

5voto

Andrew Punkte 14095

Einer der Hauptvorteile von WCF ist die Abstraktion von Verbindungsdetails aus dem Code. Wenn Sie Änderungen an den Serviceparametern vornehmen müssen, können Sie dies leichter aus der web.config heraus tun, ohne neu kompilieren zu müssen. Sie müssen möglicherweise den "Port und die Adresse" ändern. Wenn Sie dies aus dem Code heraus tun, müssten Sie neu kompilieren, was möglicherweise impraktisch ist. Außerdem bin ich mir nicht sicher, warum der Endbenutzer normalerweise mit der web.config herumspielen würde, es sei denn, es ist wirklich notwendig.

Kurz gesagt, es sei denn, Sie haben einen guten Grund, die Konfigurationsdateien nicht zu verwenden, sollten Sie sie wahrscheinlich verwenden, um den vollen Nutzen der Abstraktion zu erhalten, den WCF bietet.

3voto

Charles Lambert Punkte 4853

Sie müssen sich einige Fragen stellen

  • Haben verschiedene Entwickler unterschiedliche Werte auf ihren Maschinen?
  • Wird jemand anderes, der nicht mit dem C# arbeitet, diese Einstellungswerte ändern müssen? (z.B. ein Administrator)
  • Müssen bestimmte Werte (z.B. Nachrichtengröße) später für die Leistung angepasst werden?

Wenn die Antwort auf eine dieser Fragen ja lautet, müssen Sie die Einstellungen in eine .config-Datei verschieben. Wenn Sie befürchten, dass Kunden, die andere Einstellungen verstehen, versehentlich Ihre WCF-Einstellungen durcheinanderbringen, können Sie die Einstellungen immer trennen, indem Sie für jedes Tag das configSource-Attribut zu Ihrer web.config- oder app.config-Datei hinzufügen und Teile Ihrer Konfiguration in separaten Dateien in einem Unterverzeichnis ablegen, um die Wahrscheinlichkeit eines versehentlichen Änderung zu verringern.

0voto

Jodrell Punkte 32818

Einfach ausgedrückt,

Wenn Sie die .config-Datei verwenden, können Sie die Konfiguration nach dem Kompilieren des Codes ändern. Dies kann je nach Situation gut oder schlecht sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X