我是C#的新手,我仍在为某些事情找出最佳做法。
我想知道在哪里可以存储路径(例如文件上传)和其他各种变量等设置,以便可以在项目的任何位置访问它们。
我应该只使用静态变量创建一个类,还是有更好的方法来存储这些设置?
答案 0 :(得分:7)
您最好将其保存在web.config
中,因为这可以在编译后更改。
appSettings
元素是为这种功能保留的。您甚至可以将此部分拆分为另一个文件,以便在您的特定配置中完全清楚。
仅示例web.config
:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="DocumentDirectory" value="~/Documents" />
</appSettings>
</configuration>
或者:
web.config
:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings file="appSettings.xml" />
</configuration>
另外一个appSettings.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="DocumentDirectory" value="~/Documents" />
</appSettings>
你可以read those settings这样:
using System.Configuration;
using System.Web.Configuration;
Configuration config = WebConfigurationManager.OpenWebConfiguration(null);
if (config.AppSettings.Settings.Count > 0)
{
KeyValueConfigurationElement customSetting = config.AppSettings.Settings["DocumentDirectory"];
if (customSetting != null)
{
string directory = customSetting.Value;
}
}