网页的存储和返回设置

问题描述:

所以我使用C#ASP.NET 3.5,我想添加一个功能到我的网站打开和关闭一种调试模式的测试目的。网页的存储和返回设置

是否有一个最好的方法来创建一个文件或类,如果myDebug处于打开或关闭状态,这个文件或类就可以存储或返回。它必须快速访问,因为它将在多个页面上使用很多,并且使用网站本身应该很容易设置。

我的第一个想法只是一个get/set的类,它存储在每个页面上......也许是母版页?

感谢任何输入 斯科特

听起来像是你会希望把中的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

使用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