Stellen Sie sich mehrere voneinander abhängige Web-Services auf einem Web-Server, der sich gegenseitig anrufen und einige andere außerhalb Web-Services zu erhalten müssen. Um den Spaß hinzuzufügen, so dass sie die meisten Daten aus verschiedenen SQL Server-Datenbanken abzurufen. In diesem Fall teilen sich die Web-Services mehrere gemeinsame Verbindungszeichenfolge und Service Endpunkte.
Wenn die gleiche Verbindungszeichenfolge und Endpunktkonfiguration in mehreren der Web-Services erscheinen, ihre Beibehaltung kann ein Alptraum sein. Wenn eine bestimmte Datenbankverbindung oder Endpunkt ändert, muss es in jeder Datei web.config geändert werden, dass es in angezeigt wird. In der Mischung eine Situation, wo verschiedene Personen in einem Team entweder verschiedene Dienstleistungen für die QA-Server oder die Vorlage von Implementierungspakete bereitstellen zu werden, um QA vorgelegt.
Eine Lösung für dieses Problem ist, gemeinsame Konfigurationseinstellungen in einer separaten Datei web.config zu teilen. Mit Hilfe einer Funktion namens Configuration Vererbung, die seit ASP .NET 1.1 existiert hat, kann dies leicht geschehen. Einfach ausgedrückt, web.config Einstellungen in einem übergeordneten Web-Anwendung finden, um Web-Anwendungen in untergeordneten Verzeichnissen zur Verfügung. Ich fragte mich, ob man eine ASP .NET-Webanwendung-Verzeichnis in IIS erstellen könnten, die lediglich aus einer web.config-Datei besteht und implementieren alle Web-Dienste, die diese Einstellungen unter diesem Ordner in einer virtuellen Hierarchie verwenden. Alle gängigen Einstellungen würden von allen die web.config-Dateien für jeden der Web-Services und platziert in der web.config in der übergeordneten Anwendungsordner entfernt werden. Ich wollte sicher sein, dass die Web-Services gemeinsamen Verbindungszeichenfolge und Service-Endpunkt-Einstellungen von dieser übergeordneten web.config Datei abrufen.
Um zu sehen, ob das funktionieren würde, habe ich drei WCF-Dienste, ServiceOne, ServiceTwo und ServiceThree. ServiceOne hat einfach eine Methode, die den Wert für einen benannten Verbindungszeichenfolge zurückgibt. ServiceThree hat eine Methode, die den Wert der aktuellen UTC-Zeit zurückkehrt, und ServiceTwo simplly die Methode auf ServiceThree aufrufen, die die Zeit zurückgibt. Die Verbindungszeichenfolge und Endpunktinformationen wurde in der gemeinsamen Datei web.config unten gezeigt platziert.
<? Xml version = "1.0"?>
Kaspersky Endpoint Security 2014 Endpoint-Security 2016