【问题标题】:Is it possible to read machine root configuration appSettings variable from a classic asp page?是否可以从经典的 asp 页面读取机器根配置 appSettings 变量?
【发布时间】:2020-05-14 13:28:16
【问题描述】:

我通过进入 IIS > 服务器 > 配置编辑器 > appSettings 来定义 appSettings 变量。

然后我想从经典的 asp/vbscript(不是 .net)页面中读取这个变量,这是否可能以及如何实现?

【问题讨论】:

  • 简短回答:是的。您添加的内容最终会出现在应用程序的web.config 文件中,该文件只是一个具有不同扩展名的 XML 文件。使用 MSXML,这并不难。在 SO 上有大量使用 MSXML 和 VBScript/Classic ASP 的示例。
  • 它不在应用程序的 web.config 文件中,它在机器根 .config 文件中,所以不知道如何访问它。我需要从许多应用程序访问相同的变量
  • 所有这些 .NET *.config 文件都是实际的 XML 文件,无论是 web.config 还是 machine.config。
  • 您可能会发现这很有用 - Feature Delegation in IIS
  • 您可以尝试使用此链接代码:stackoverflow.com/questions/28960446/… 另一件事是您需要将 iis 用户权限分配给 web config 文件夹。

标签: iis vbscript configuration asp-classic


【解决方案1】:

如上所述,您可以将corresponding config 读取为文件

Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile("C:\Windows\Microsoft.NET\...\Config\machine.config", 1)
Response.Write(Server.HTMLEncode(f.ReadAll))
f.Close

解析xml使用类似这样的东西

Set objxml = Server.CreateObject("MSXML2.DOMDocument.3.0")
objxml.load("C:\Windows\Microsoft.NET\...\Config\machine.config")

Set NodeList = objxml.documentElement.selectNodes("/configuration/configSections/section")
For Each Node In NodeList
   Response.Write(Server.HTMLEncode(Node.Xml)) 
next
Set objxml = Nothing 

【讨论】:

    猜你喜欢
    • 2012-08-04
    • 2015-05-11
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多