基本上我有一个.net应用程序,其目录路径存储在app.config文件中。此目录路径输出将由asp.net网页读取的xml文件。
有什么方法可以让asp.net网页读取存储在app.config文件中的目录路径?我是否应该使用web.config文件?
答案 0 :(得分:2)
最简单的方法是将目录路径复制到asp.net Web应用程序的web.config文件中。您可以将路径放在web.config文件的AppSettings元素中,如下所示:
<appSettings>
<add key="FilePath" value="d:\fileDirectory" />
</appSettings>
然后,您可以使用WebConfigurationManager或ConfigurationManager从asp.net应用程序中读取此值。 WebConfigurationManager是首选方法,因为它知道如何处理ASP.Net配置继承(请参阅下面的Antonio的评论)。
您需要确保运行asp.net进程的Windows帐户具有对存储XML文件的指定目录的读取权限。您可以使用目录的ACL设置进行调整。
或者,不是在web.config中复制目录路径,而是尝试让您的asp.net应用程序直接读取.net应用程序的app.config文件中的路径。在这种情况下,您需要将文件的内容加载到XDocument中或使用.net中的配置解析工具,然后解析文件以提取值。您需要确保您的asp.net应用程序有权读取app.config文件。而且你仍然需要在web.config中存储一个路径,这次指向app.config文件所在的位置。所以我个人而言,我只是将xml文件的路径复制到asp.net应用程序的web.config文件中。
答案 1 :(得分:0)
要从web.xml读取应用设置,请使用
System.Configuration 命名空间
<appSettings>
<add key="filepath" value="D:\folder"/>
</appSettings>
阅读此设置
ConfigurationManager.AppSettings["filepath"].ToString()
答案 2 :(得分:-1)
Dim Xmldoc As New XmlDocument
Dim xmlatt As XmlAttribute
xmldoc.load("your file path")
xmlatt =xmldoc.SelectSingleNode("/configuration/appSettings/add[@key = 'keyname']/@value")
您可以将值用作xmlatt.value