Wie, um Konfigurationen zu speichern ins web.config-Datei?
Ich bin mit einem Asp.net dynamische web-site-Anwendung und kann nicht speichern von Konfigurationen in web.config-Datei.
Ich habe versucht, so etwas wie dies, funktioniert aber nicht!
var configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
configuration.AppSettings.Settings["Value"].Value = "Some value";
configuration.Save();
Fehler habe ich mit
1. OpenWebConfiguration(Server.MapPath(".")) & OpenWebConfiguration(Server.MapPath("~"):
The relative virtual path 'C:/...' is not allowed here.
2. OpenWebConfiguration("~")
An error occurred loading a configuration file: Failed to map the path '/'.
Ich weiß wirklich nicht mehr was tun.
- Sie wollen nicht zu ändern Sie Ihre web-config zur Laufzeit. Sie zwingen wird, Ihre app-pool/web-app neu zu starten, dies zu tun, und als Ergebnis werden Sie verlieren alle Sitzungen und verursachen einen overhead auf Ihre nächste Anfrage. Stattdessen wollen Sie beibehalten, können Sie diese Daten einer Tabelle in einer Datenbank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Dokumentation es besagt, dass ein null-Wert übergeben, den Pfad öffnet den Standard-web-Browser.config-Datei.
Suchen Sie in Ihren code es scheint nicht, dass Sie tatsächlich die Angabe eines config-Dateiname in Ihrem Pfad.
So verwenden:
EDIT: O. k. Ich habe getan, einige weitere Untersuchungen durchzuführen und die übergabe von null wird der Zugriff auf die Server Standard-web-Browser.config-Datei in der C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config Ordner, die nicht ist, was Sie wollen, in diesem Fall.
Vorbei an "~" sollten Sie Zugriff auf die web-Anwendungen Standard-web-Browser.config-Datei und ich getestet haben dies erfolgreich in Visual Studio 2008 mit .NET 3.5 mit dem folgenden code:
Ich bin nicht sicher, warum dies funktioniert nicht Ihr Fall. Ich würde vorschlagen, platzieren Sie einen breakpoint auf die Codezeile, wo Sie die Konfiguration erstellen-Objekt und verwenden Sie das "Direktfenster" in der Visual Studio-IDE die WebConfigurationManager statischen OpenWebConfiguration Methode, um zu sehen, was für ein Ergebnis Sie bekommen können. Eingabe wie
WebConfigurationManager.OpenWebConfiguration("~").AppSettings.Settings.AllKeys
sollte zeigen, ob Sie den Zugriff auf Ihre web.config erfolgreich.Folgenden code verwenden.