Jaki jest dobry sposób programowej edycji pliku Web.config?Programowalne edytowanie pliku Web.config
Zajrzałem do pliku System.Xml, ale nie mogłem znaleźć żadnych oczywistych odpowiedzi.
Jaki jest dobry sposób programowej edycji pliku Web.config?Programowalne edytowanie pliku Web.config
Zajrzałem do pliku System.Xml, ale nie mogłem znaleźć żadnych oczywistych odpowiedzi.
This fellow pokazuje przykładowy kod jeśli nadal chcesz to zrobić po tych wszystkich zastrzeżeń:
protected void EditConfigButton(object sender, EventArgs e)
{
Configuration objConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings");
//Edit
if (objAppsettings != null)
{
objAppsettings.Settings["test"].Value = "newvalueFromCode";
objConfig.Save();
}
}
jednego ważnego powodu, dla edycji web.config jest go zaszyfrować, co jest, co ten artykuł jest na temat.
W zależności od tego, co robisz, metoda jest naprawdę nieco inna w każdej sytuacji. Jednak najbardziej niezawodną metodą jest załadowanie go jako XmlDocument i modyfikowanie go w razie potrzeby za pomocą tej metody, ale MUSISZ zachować ostrożność, aby modyfikować go tylko w wymagany sposób.
Możesz użyć WebConfigurationManager do odczytu określonych sekcji konfiguracji. Spowoduje to zwrócenie obiektu ConfigurationSection. Możesz użyć tego do odczytu/modyfikacji elementów ConfigurationElements w sekcji. Po ich zaktualizowaniu możesz zapisać ConfigurationSection i zaktualizuje plik swoimi zmianami.
Używam tego, aby automatycznie szyfrować ustawienia aplikacji i connectionStrings w Application_Start, jeśli nie są jeszcze zaszyfrowane. Tak naprawdę nie zmieniłem żadnych ustawień, ale wydaje się, że powinieneś móc to zrobić.
Zapisanie zaktualizowanego pliku konfiguracyjnego może spowodować odtworzenie aplikacji w zależności od sposobu jej utworzenia.
Tak, zgadzam się z Joshem. Próbowałem tego wcześniej i miałem dwa negatywne efekty:
W teorii; można po prostu wygenerować plik konfiguracji sieci programowo i przy pomocy szablonów, aby było to łatwiejsze.
Jednakże, jeśli próbujesz edytować swój web.config z poziomu strony; to jest bardzo zalecane . Przynajmniej; uruchamiasz resetowanie aplikacji za każdym razem, gdy ją aktualizujesz; co byłoby szczególnie złe, jeśli korzystasz z sesji w procesie.
Jak Anders zapytał, co próbujesz zrobić?
Zmień tryb auth na przykład. – AgentFire
Zgadzam się z innymi, edycję webconfig jest osiągalne, ale zapukać efekty są po prostu niebezpieczne/ryzyko zaangażowany
Jeśli jej wartość, która jest specyficzna dla zgłoszenia, to powinno być w pliku specyficzny konfiguracyjnym aplikacji
Dużo czasu na modyfikację ustawień aplikacji po wdrożeniu, np. Powiedz, kiedy coś jest nie tak, np. przełączanie połączenia z bazą danych w przypadku awarii bieżącego DB. Ponadto czasami chcesz utworzyć własny plik konfiguracyjny oparty na XML, który chcesz o modyfikować programowo.
Spróbuj XML Webpad - http://xmlwebpad.codeplex.com/
Jego ramy wyświetlić edytować pliki XML. Po zintegrowaniu go z aplikacją internetową edytowanie pliku web.config będzie tak proste, jak przeglądanie strony web.config, wprowadzanie wymaganych zmian i naciśnięcie przycisku zapisu (wszystko z poziomu aplikacji).
Zmień tryb auth na przykład. – AgentFire