从外部程序访问 web.config 设置

本文关键字:config 设置 web 访问 程序 从外部 | 更新日期: 2023-09-27 18:31:20

我有一个应用程序驻留在虚拟目录中。它的Web.config具有以下设置:

<appSettings>
    <add key="SomePath" value="C:'Somepath'whatever"/>
    ........other settings.........
</appSettings>

我有一个在应用程序外部运行的可执行文件,需要读取此值:

System.Configuration.Configuration config =  
     WebConfigurationManager.OpenWebConfiguration("/MyApplicationVirtualDirectory") 
     as System.Configuration.Configuration;
string path = config.AppSettings.Settings["SomePath"].Value;

这将引发编译错误:

"System.Configuration.ConfigurationElement.this[System.Configuration.ConfigurationProperty]"由于其保护级别而无法访问

我想这是有道理的,因为虚拟目录中的 web.config 包含一些敏感信息,如连接字符串等,但我想检查并确保我没有做错任何事并且我的理解是正确的。如果没有,如何从外部可执行文件访问此设置?

从外部程序访问 web.config 设置

这是一种解决问题的循环方法,但这是我过去的做法。 您只需在 Web 应用程序中创建一个页面,返回所需的设置,然后使用 HttpWebRequest 访问可执行文件中的该页面。

否则,这是一个权限问题。 您可以弄乱 Web.config 文件的权限,也可以尝试以管理员身份运行可执行文件。