2010-09-13 50 views
1

所以我使用C#ASP.NET 3.5,我想添加一個功能到我的網站打開和關閉一種調試模式的測試目的。網頁的存儲和返回設置

是否有一個最好的方法來創建一個文件或類,如果myDebug處於打開或關閉狀態,這個文件或類就可以存儲或返回。它必須快速訪問,因爲它將在多個頁面上使用很多,並且使用網站本身應該很容易設置。

我的第一個想法只是一個get/set的類,它存儲在每個頁面上......也許是母版頁?

感謝任何輸入 斯科特

回答

3

聽起來像是你會希望把中的AppSettings你的web.config的東西。

(我假設在web.config中編譯調試設置爲true不足以你想要做的事。)

+0

感謝您的回覆,這是正確的編譯調試不是我正在尋找。 web.config中的值是否可以通過Web瀏覽器進行更新,您將如何執行此操作? – Scott 2010-09-13 20:33:36

+0

@Scott您可以使用AppSettings集合更新值,但它不會實際更新文件,只是內存中的內容。要更新web.config,你需要使用標準的xml文件技術,但它會重置你的web應用程序,這將清除會話等。如果你需要更新實際的文件,它可能是一個更好的電話來移動這些設置放入他們自己的文件中,您可以讀取和更新。 – heisenberg 2010-09-13 21:01:30

+0

什麼會導致變量被從內存中刪除,例如,如果我實現將其存儲在web.config中,它只會影響用戶的會話,並且會在我關閉瀏覽器時清除該變量?這可能比我想要的更好。 – Scott 2010-09-17 22:44:24

0

使用AppSettings的。

你可以讓你的應用程序設置像這樣:

string appSettingValue = ConfigurationManager.AppSettings["key"]; 

你可以改變你的應用程序設置like so

下面的代碼已經從博客鏈接複製上面顯示的示例:

private void ChangeAppSettings(string key, string NewValue) 
{ 
Configuration cfg; 
cfg = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); 

KeyValueConfigurationElement setting = (KeyValueConfigurationElement)cfg.AppSettings.Settings(key); 

if ((setting != null)) { 
setting.Value = NewValue; 
cfg.Save(); 
} 
} 

您可能需要調用ConfigurationManager.RefreshSection("appSettings");後保存到了該應用程序看到的變化....林不知道,如果cfg.Save()將重新加載/刷新設置。

+0

感謝您的迴應,我還沒有實施解決方案,但這看起來非常有希望,當我完成時我不會忘記標記答案:) – Scott 2010-09-17 22:45:11