网页的存储和返回设置
问题描述:
所以我使用C#ASP.NET 3.5,我想添加一个功能到我的网站打开和关闭一种调试模式的测试目的。网页的存储和返回设置
是否有一个最好的方法来创建一个文件或类,如果myDebug处于打开或关闭状态,这个文件或类就可以存储或返回。它必须快速访问,因为它将在多个页面上使用很多,并且使用网站本身应该很容易设置。
我的第一个想法只是一个get/set的类,它存储在每个页面上......也许是母版页?
感谢任何输入 斯科特
答
听起来像是你会希望把中的AppSettings你的web.config的东西。
(我假设在web.config中编译调试设置为true不足以你想要做的事。)
答
使用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
感谢您的回复,这是正确的编译调试不是我正在寻找。 web.config中的值是否可以通过Web浏览器进行更新,您将如何执行此操作? – Scott 2010-09-13 20:33:36
@Scott您可以使用AppSettings集合更新值,但它不会实际更新文件,只是内存中的内容。要更新web.config,你需要使用标准的xml文件技术,但它会重置你的web应用程序,这将清除会话等。如果你需要更新实际的文件,它可能是一个更好的电话来移动这些设置放入他们自己的文件中,您可以读取和更新。 – heisenberg 2010-09-13 21:01:30
什么会导致变量被从内存中删除,例如,如果我实现将其存储在web.config中,它只会影响用户的会话,并且会在我关闭浏览器时清除该变量?这可能比我想要的更好。 – Scott 2010-09-17 22:44:24