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

时间:2014-11-20 19:47:18

标签: c# web-config

我有一个驻留在虚拟目录中的应用程序。它的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.configs包含一些敏感信息,如连接字符串等,但我想检查并确保我没有做错任何事情并且我的理解是正确的。如果没有,我如何从外部可执行文件中访问此设置?

1 个答案:

答案 0 :(得分:1)

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

否则是权限问题。您可以使用Web.config文件中的权限,或尝试以管理员身份运行可执行文件。