如何使用 asp.net 的 C# 代码中的 WebConfigurationManager 从自定义配置文件(比如 abc.config)中读取连接字符串?
Configuration conf = WebConfigurationManager.OpenWebConfiguration("~/abc.config");
这似乎不起作用。
如何使用 asp.net 的 C# 代码中的 WebConfigurationManager 从自定义配置文件(比如 abc.config)中读取连接字符串?
Configuration conf = WebConfigurationManager.OpenWebConfiguration("~/abc.config");
这似乎不起作用。
你可以使用这个技巧:它是我的自定义方法——使用 web 根目录中的 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>
我认为您无法使用 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;
}