Вопрос

How do I read connection strings from custom config file (say abc.config) using WebConfigurationManager from asp.net's C# code?

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

This doesn't seem to work.

Это было полезно?

Решение

I dont think you can read it with webconfigurationmanager. you will have read like any xml file as it is an xml file

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;


        }

Другие советы

you can use this trick: its my custom method- using webapp.config from web root. readl all app settings and return;

//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 sample:

<configuration>
  <appSettings>
    <add key="WebApp-FixedTopMenu" value="true"/>
    <add key="WebApp-FixedTopMenuThickness" value="true"/>
  </appSettings>
</configuration>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top