我需要让一个不专业的人能够自己安装ASP.NET应用程序。
安装程序(一个人)会将应用程序文件复制到虚拟目录中。
安装程序将获得适合从sysadmin创建数据库的SQL Server名称用户名和密码。
该应用程序有一个网页,它自动在指定的SQL服务器上创建一个空数据库,其名称由使用特定Web表单设置服务器名称的安装程序提供。
我希望安装页面只出现在主菜单上一次。
安装页面在master中有一个链接作为asp:MenuItem。
在数据库安装后,哪种方法可以抑制此菜单项?
我想到了Web.config中的一个特定变量,如果数据库已经安装并准备好使用,它将保留值,但有些人不喜欢这个解决方案。
答案 0 :(得分:2)
这为您提供了一系列选项:
Nine Options for Managing Persistent User State in Your ASP.NET Application
您可以使用Web.Config文件中的appSettings部分在项目或文件夹级别生成变量,并在会话期间缓存变量:
<appSettings>
<add key="customsetting1" value="Some text here"/>
</appSettings>
System.Configuration.Configuration rootWebConfig1 =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
if (rootWebConfig1.AppSettings.Settings.Count > 0)
{
System.Configuration.KeyValueConfigurationElement customSetting =
rootWebConfig1.AppSettings.Settings["customsetting1"];
if (customSetting != null)
Console.WriteLine("customsetting1 application string = \"{0}\"",
customSetting.Value);
else
Console.WriteLine("No customsetting1 application string");
}