Frage

In meiner ASP.NET -Anwendung habe ich eine Web.config -Datei. In der Datei web.config habe ich eine Verbindungszeichenfolge ...

<connectionStrings>
    <add name="HRDb" connectionString="xxxxx" providerName="System.Data.SqlClient" />
</connectionStrings>

Doch wenn ich diesen Wert mithilfe von ConfigurationManager.ConnectionStringsp["HRDb"], Ich bekomme die Zeichenfolge meiner alten Verbindung, nicht die neue.

Wo sonst (abgesehen von web.config) macht das ConfigurationManager Verbindungszeichenfolge Werte von lesen?

Ich stelle die Anwendung von vs.NET aus (nicht an IIS bereitgestellt).

War es hilfreich?

Lösung

Ich fand heraus, was schief ging.

Um meine eigene Frage zu beantworten, liest ConfigurationManager nur aus web.config.

Mein Problem war, dass das Projekt für die Verwendung eines IIS -Webservers beim Ausführen des Projekts konfiguriert wurde, anstatt den Visual Studio Development Server zu verwenden. Also habe ich tatsächlich eine alte Version meiner Anwendung ausgeführt. Dumm.

Andere Tipps

Es ist auch möglich, dass Sie in einem Ordner über Ihrem aktuellen Ordner oder sogar in machine.config eine Verbindungszeichenfolge in einem "übergeordneten" web.config in einem Ordner über Ihrem aktuellen Ordner oder sogar in machine.config definieren. Versuchen Sie, a hinzuzufügen <clear /> Element vor dem <add> Element.

Wo wurde der "alte" Wert gespeichert? Ist es in einer anderen Konfigurationsdatei? Der Konfigurationsmanager sollte nur aus den Konfigurationsdateien ziehen, es können jedoch mehrere Dateien für eine Anwendung vorhanden sein. Kopiert ein Teil Ihres Erstellungsprozesses in einer alten Datei?

Ich hatte ein ähnliches Problem, bei dem die Lösung darin bestand, dass ich das falsche Web.config hielt, das von Visual Studio beim Hinzufügen einer Datei oder so generiert wurde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top