Читать пользовательский файл конфигурации в asp.net

Как я могу прочитать строки подключения из пользовательского файла конфигурации (скажем, abc.config), используя WebConfigurationManager из кода C# asp.net?

Configuration conf = WebConfigurationManager.OpenWebConfiguration("~/abc.config");

Это не похоже на работу.

2 ответа

Решение

Я не думаю, что вы можете прочитать это с помощью webconfigurationmanager. Вы прочтете, как любой XML-файл, так как это XML-файл

public static string GetSingleValue(string strXPathExpression, string strAttributeName)
        {
            XmlNode node = GetNode(strXPathExpression);
            if (node != null)
            {
                XmlAttribute attribute = node.Attributes[strAttributeName];
                if (attribute != null)
                    return attribute.Value;
            }

            return string.Empty;


        }

Вы можете использовать этот трюк: это мой собственный метод - использование webapp.config из корневого веб-каталога. прочитать все настройки приложения и вернуться;

//Read WebAppConfiguration
public static AppSettingsSection ReadAllWebappConfig()
{
    string physicalWebAppPath = "";
    AppSettingsSection appSettings;

    ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
    physicalWebAppPath = System.Web.Hosting.HostingEnvironment.MapPath("~/webapp.config");

    if (System.IO.File.Exists(physicalWebAppPath))
    {
        fileMap.ExeConfigFilename = physicalWebAppPath;
        Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
        appSettings = (AppSettingsSection)config.GetSection("appSettings");
    }
    else
        appSettings = null;

    return appSettings;
}

Пример webapp.config:

<configuration>
  <appSettings>
    <add key="WebApp-FixedTopMenu" value="true"/>
    <add key="WebApp-FixedTopMenuThickness" value="true"/>
  </appSettings>
</configuration>
Другие вопросы по тегам