2012-06-20 128 views
1

我的一些Web应用程序写入到Web服务器上的磁盘。的路径的变化取决于位置,PROD和DEV等我以前的路径存储在web.config中下配置像/的appSettings:使用配置管理器

<add key='PDFOutPutPath' value='C:\Temporary_Web_Files\PDFTempDocs\'/> 

,然后得到他们这样的:

路径= ConfigurationSettings .AppSettings(“PDFOutPutPath”)在.NET 4中,我得到编译这个警告

现在正在贬值,让我发现了一些指导告诉我要我值添加一个配置文件,移动到它像这样:

<configuration> 
<appSetings> 
    <add key='PDFOutPutPath' value='C:\Temporary_Web_Files\PDFTempDocs\'/> 
</appSettings> 
</configuration> 

和使用配置管理器,像这样:

ConfigurationManager.AppSettings( 'PDFOutPutPath')

但是,这是行不通的。我不确定我是否应该使用配置管理器来做这件事 - 如果不是,那么你把这些东西放在哪里?我有System.Configuration引用,所以这不是我的问题。

+0

你的使用和语法似乎是正确的(这是VB.Net的权利?)。你能发布你得到的异常吗? – EkoostikMartin

+0

我不是一个异常 - 我分配它的字符串变量(路径)为空。我不认为需要指定语言,但我添加了一个标签。虽然这很像VB。 – Brian

+0

Wow,RPG的.Net编译器,从来没有听说过......无论如何,你能发布web.config文件的全部内容吗? – EkoostikMartin

回答

0

因此,您所遵循的指示似乎有点误导。

你不需要第二个文件,你应该删除app.config文件。您可以将所有配置值放在web.config中。只要确保配置项目在<appSetings>节点中。但是您应该继续使用代码中的ConfigurationManager类来访问这些值。

+0

嗯....我这样做的原因首先是因为文件路径是业务层中的类中需要的文件路径 - 它在网页上引用,但没有网页.config文件。 – Brian

+0

没关系,web应用程序只会从web.config中读取。它会忽略app.config。 – EkoostikMartin

+0

对不起 - 但我很困惑。你说的DLL需要去web站点web.config来获得路径的价值?如果其他人创建了一个网页并引用了我的dll,但不包含web.config中的应用程序密钥,会发生什么?不应该可以自行获取它吗?我不是.Net大师 - 所以请原谅我的无知:P – Brian