2011-01-17 8 views
1



Ich bin einige Tage früher auf eine Fallstudie gestoßen. Es bezieht sich auf eine Webanwendungsarchitektur.
Hier ist das Szenario,
Es gibt einen einzigen Web-Service von sagen, 1000 Web-Anwendungen. Dieser Web-Service wird auf einem bestimmten Server gehostet. Wenn der Hosting-Standort für Web-Services geändert wird, wie werden die anderen Anwendungen über diese Änderung informiert?
Keeping in web.config scheint keine praktikable Lösung zu sein, da wir web.config-Dateien für alle Anwendungen ändern müssen.
Diese Einstellungen in einem gemeinsamen Repository zu behalten und alle Anwendungen für die Web-Service-Adresse verwenden zu lassen, kam mir in den Sinn, aber es gibt wieder eine Frage des Speicherns dieses gemeinsamen Repository.

Ich bin nur neugierig zu wissen, wie dies mit besserer Leistung erreicht werden könnte.
Vielen Dank im Voraus für jede Art von Vorschlägen.Konfigurationseinstellungen für Webanwendungen - Welcher ist der bessere Ort zum Speichern?

Antwort

1

haben Sie vollen Zugriff oder Kontrolle über all die Web-Anwendungen, die diesen Web-Service nutzen? Wenn ja, könnten Sie ein Skript oder einen benutzerdefinierten Code haben, der alle ihre Web.configs gleichzeitig aktualisiert. es scheint zu viel Arbeit, aber auf diese Weise haben Sie mehr Kontrolle und Sie könnten auch, schließlich, auf die neue URL nur einige Anwendungen zeigen und einige andere auf einer anderen URL verlassen.

Die Idee mit der Einstellung in einer zentralisierten Datenbank gibt Ihnen schnellere Update-Propagation, die auch im Falle von Fehlern schlecht sein könnte und dann haben Sie alle Anwendungen auf den gleichen Ort verweisen und keine Möglichkeit, dies zu teilen. Dann müssen Sie sich trotzdem mit einer zentralen Datenbank verbinden und vielleicht sollten Sie einen Schlüssel zu ihrer web.config (s) mit der Verbindungszeichenfolge zu dieser Datenbank hinzufügen, falls diese Datenbank nicht erreichbar oder nicht erreichbar ist, Die Webanwendungen können den Webdienst nicht einfach nutzen, weil sie die URL nicht abrufen können.

Ich würde für die Web-Konfiguration gehen, schließlich könnten Sie eine Einstellung Helper-Klasse, die das Abrufen dieser URL abstrahieren, so dass die Benutzeroberfläche oder Front-End nicht weiß woher diese URL stammt.

Wie auch immer, planen Sie die URL eines Webdienstes oft zu ändern? wäre es nicht besser, es auf eine neue URL zu kopieren, sondern es auch für eine Weile auf der aktuellen URL verfügbar zu halten?

ein weiterer Vorteil der web.config Ansatz ist, dass jedes Mal wenn Sie es die Anwendung neu gestartet wird, aktualisieren und speichern, während eine Änderung in einer Datenbank eine Weile dauern könnte Sie einige Caching, falls zu erfassende Mechanismus haben,

diese Hoffnung hilft.

Davide.

+0

Danke für die Antwort Davide. Im Falle eines vollständigen Zugriffs kann ein Skript nützlich sein. Aber, ich denke, wenn alle Web-Anwendungen auf verschiedenen Servern gehostet werden, dann kann es mühsam sein, dies zu tun. –

+0

Sicher hast du recht, dann könntest du eventuell einen anderen Webservice und eine andere Webmethode verwenden, um die neueste URL für den anderen Dienst zu verwenden. Dies gilt natürlich nur, wenn du eine permanente URL für diesen Hilfsdienst verwalten kannst. –

Verwandte Themen