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

Jac*_*les 3 c# asp.net

我是C#的新手,我仍在为某些事情找出最佳实践.

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

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

Pat*_*man 7

你最好保存它,web.config因为这可以在编译后更改.

appSettings元素保留用于此类功能.您甚至可以将此部分拆分为另一个文件,以便在您的特定配置中完全清楚.

web.config仅示例:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="DocumentDirectory" value="~/Documents" />
    </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

要么:

web.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings file="appSettings.xml" />
</configuration>
Run Code Online (Sandbox Code Playgroud)

另外一个appSettings.xml:

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
    <add key="DocumentDirectory" value="~/Documents" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

你可以这样读取这些设置:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)