在C#中存储全局变量(如路径)的位置?

时间:2014-09-07 10:43:07

标签: c# asp.net

我是C#的新手,我仍在为某些事情找出最佳做法。

我想知道在哪里可以存储路径(例如文件上传)和其他各种变量等设置,以便可以在项目的任何位置访问它们。

我应该只使用静态变量创建一个类,还是有更好的方法来存储这些设置?

1 个答案:

答案 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;
    }
}