我有一些设置需要从我正在处理的网站的管理面板进行编辑.我认为将这些设置放在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,数据库,…