在应用程序文件夹之外读取单独的web.config文件

编程入门 行业动态 更新时间:2024-10-26 23:31:44
本文介绍了在应用程序文件夹之外读取单独的web.config文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我需要在应用程序的文件夹(位于任何其他目录中)之外读取web.config文件。 我尝试了此代码:

string filePath = @"C:UsersIdreesDownloadsNew folderWeb.config"; Configuration c1 = ConfigurationManager.OpenExeConfiguration(filePath); var value1 = c1.AppSettings.Settings["Key1"].Value;

但它给了我错误:

对象引用未设置为对象的实例。

因为在这里,c1.AppSettings是一个对象,但c1.AppSettings.Settings不包含项(因此0计数)。它并没有真正加载AppSettings键。尝试从Settings集合读取任何Key时,会出现此错误。

有没有办法从应用程序文件夹外的web.config文件加载AppSettings密钥。

如果我将相同的文件放在应用程序文件夹中,则它会成功读取密钥。

这是我的示例配置文件的内容:

<?xml version="1.0" encoding="utf-8"?> <!-- For more information on how to configure your ASP.NET application, please visit go.microsoft/fwlink/?LinkId=169433 --> <configuration> <connectionStrings> <!--here goes my connection strings--> </connectionStrings> <appSettings> <add key="Key1" value="Value1" /> <add key="Key2" value="Value2" /> <add key="Key3" value="Value3" /> </appSettings> </configuration>

我的服务器上已经运行了一个Web应用程序。我需要开发一个必须在数据库中做一些工作的小工具,我不想在每个应用程序中写入数据库凭据或连接字符串(以及其他一些额外的应用程序设置),我希望它从web.config中读取相同的东西。

推荐答案

您可以使用ConfigurationManager通过打开映射的exe配置来读取任意配置文件,如下所示:

var filePath = @"C:UsersIdreesDownloadsNew folderWeb.config"; var fileMap = new ExeConfigurationFileMap { ExeConfigFilename = filePath }; var configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); var value = configuration.AppSettings.Settings["Key1"].Value;

更多推荐

在应用程序文件夹之外读取单独的web.config文件

本文发布于:2023-11-12 17:01:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1582038.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:应用程序   文件夹   文件   web   config

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!