2012-04-02 11 views
1

Wie aktualisiert man Einstellungen in web.config Datei in ASP.Net?Wie Einstellungen in web.config aktualisieren Datei [asp.net]?

Ich entwickle eine ASP.NET-Website und verwende die web.config-Datei, um die Datenbankverbindungsdetails beizubehalten. wie im obigen Codesegment gezeigt.

Und ich verwende folgenden Code gespeichert Anwendungseinstellungen am

Laufzeit abrufen
string dataSource = ConfigurationManager.AppSettings["DataSource"].ToString(); 

Wie kann ich Wert in einem Textfeld zu web.config Datei zuweisen? Ich habe folgenden Code verwendet, aber es speichert die Konfigurationsdatei nicht.

ConfigurationManager.AppSettings["DataSource"] = TextDataSource.Text; 

Antwort

3
Configuration myConfiguration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); 
myConfiguration.AppSettings.Settings["DataSource"].Value = "some value"; 
myConfiguration.Save(); 

Hoffe, es hilft.

+1

Ich habe sogar versucht, es aber wieder erzeugt es eine Ausnahme von sagen: „Ein Fehler ist einer Konfigurationsdatei geladen. Fehlgeschlagen den Pfad‚/‘zur Karte“ tun müssen, um i die Position definieren web.config beim Ausführen .OpenWebConfiguration ("~") ???? –

+0

@ KeizerßloodSucker, wenn Sie Ihre Web.config im root haben, muss dieser Code funktionieren. Ich benutze es ohne Probleme in meinen Projekten. Wo behältst du deine Konfigurationsdatei? – walther

+0

web.config befindet sich am Standard-Speicherort wie im folgenden Screenshot gezeigt: S http://i44.tinypic.com/1ttpxd.png –

0

@Keizer ßloodŚucker: Sie können Ihren Appsetting Wert wie folgt ändern:

Configuration myConfiguration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("path of webconfig file"); 
    myConfiguration.ConnectionStrings.ConnectionStrings["myDatabaseName"].ConnectionString = txtConnectionString.Text; 
    myConfiguration.AppSettings.Settings.Add("key","value"); 
    myConfiguration.Save(); 
0

Neben der Konfiguration mit Configuration.Save zu speichern(), können Sie auch für Dateiberechtigungen anzusehen, benötigen Sie die Datei zu speichern. Sie müssen sich ansehen, welches Konto für die Ausführung Ihrer Anwendung verwendet wurde, und dann die Berechtigung "Ändern/Schreiben" für dieses Konto in web.config hinzufügen. Wenn Sie anonymen Zugriff erlauben, müssen Sie normalerweise die Berechtigung iusr_ [Server] festlegen. Schlagen Sie diese Informationen in IIS nach.

0

Sie könnten auch einen anderen Wert auf derselben Seite laden, auf der Sie diesen Wert verwenden möchten. Ich benutze so etwas in Ich bin im Debug-Modus. Ich wähle das aus, weil die obige Methode alle Kommentare zu den App-Einstellungen entfernt.

public string _path; 
public string Path 
{ 
    get 
    { 
     if(_path == null || _path == "") 
     { 
      if (System.Diagnostics.Debugger.IsAttached) 
      { 
       _path = "localhost\SQLEXPRESS,1433"; 
      } 
      else 
      { 
       _path = ConfigurationManager.AppSettings["DataSource"]; 
      } 
      return _path; 
     } 
     return _path; 
    } 
} 
Verwandte Themen