我有一些设置需要从我正在处理的网站的管理面板进行编辑。我认为将这些设置放在web.config中是有意义的(或者我应该将它们放在其他地方吗?)。所以无论如何,我正在尝试编写必要的代码来做到这一点,但是我被卡住了......这是我第一次真的需要这么做...... :)这是我到目前为止所得到的: / p>
Web.config中的appSettings部分:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="InvitationOnly" value="true" />
<add key="MaintainanceMode" value ="false"/>
</appSettings>
这是我正在尝试编写的一个类,以便轻松检索和修改将放置在appSettings部分内的一些值:
public static class SiteSettings
{
public static bool InvitationOnly
{
get
{
var invitation = WebConfigurationManager.AppSettings["InvitationOnly"];
return Convert.ToBoolean(invitation);
}
set
{
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
var appSettings = config.GetSection("appSettings") as AppSettingsSection;
if(appSettings != null)
{
//got stuck here...
}
}
}
}
我是否在正确的轨道上?我如何从这里继续?
顺便说一下,在web.config中放置网站设置有多安全?我应该担心什么吗?
谢谢。
答案 0 :(得分:7)
您绝对不希望每次修改web.config文件时都会重新启动应用程序。如果修改了web.config,ASP.NET会立即卸载AppDomain。 web.config用于存储应用程序的静态,只读配置。如果您需要存储必须修改的设置,则web.config不是正确的位置。您可以使用自定义文件,会话,cookie,数据库......