Aus unterschiedlichen Gründen kann gewünscht sein, die Verbindungsinformationen zur Datenbank nicht in der Web.config – Datei vorzuhalten.

Ein Grund kann sein, daß für Dashboards zusätzliche externe Datenbankverbindungen konfiguriert werden sollen, die bei einem Update nicht aus der Web.config gelöscht werden sollen.

Ein anderer Grund kann sein. daß für den Datenbankzugriff wird nicht immer eine integrierte Anmeldung gewünscht wird. Entweder weil der IIS-Apppool-User nicht in derselben Security-Domain ist oder aber die Datenbank das gar nicht unterstützt bzw. es nicht konfiguriert ist. In diesen Fällen würden die Passwörter als Klartext in der Web.config auftauchen und damit Teil des Deployment-Pakets.

Statt dessen sollte eine eigene Datei mit Verbindungsdaten auf den Webserver gelegt werden, die nicht Teil der Auslieferung ist. Diese kann vom Administrator ggf. mit sehr strengen Leseberechtigungen geschützt werden (nur Apppool-User).
Deren Name muss mit “Custom” beginnen, damit sie beim Update nicht gelöscht wird.

Beispiel:

web.config
<connectionStrings configSource="CustomConnection.config"/>

CustomConnection.config

<connectionStrings>
<add name = "DefaultConnection" connectionString = "Data Source=localhost;Initial Catalog=bacrm_mm5;Integrated Security=True" providerName = "System.Data.SqlClient" />
</connectionStrings>