我有一些设置需要从我正在处理的网站的管理面板进行编辑.我认为将这些设置放在web.config中是有意义的(或者我应该将它们放在其他地方吗?).所以无论如何,我正在尝试编写必要的代码
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中放置站点设置有多安全?我应该担心什么吗?
谢谢.
您绝对不希望每次修改web.config文件时,您的应用程序将只是重新启动.如果修改了web.config,ASP.NET会立即卸载AppDomain. web.config用于存储应用程序的静态,只读配置.如果您需要存储必须修改的设置,则web.config不是正确的位置.您可以使用自定义文件,会话,cookie,数据库,…