读取Classic ASP中的web.config值

Bob*_*Bob 8 web-config asp-classic

我继承了我需要支持的传统经典asp站点,并且我正在设置开发/调试环境,因此我不必在生产服务器上工作.

代码有点混乱,在各种.asp文件中有数百个连接字符串.这些都包含对SQL服务器等的硬编码引用.

我真的不想用我的本地开发环境SQL DB设置替换所有这些,所以我想知道是否有一种简单的方法可以让经典的asp从.net web.config文件中读取.这样我可以改变所有硬编码连接字符串从这一个地方读取,然后我只需要在一个地方定义服务器细节.

这意味着我可以在本地编写代码和调试,而我所要做的就是在部署之前更改web.config中的几个值.

请在答案中提供明确的例子,因为我是经典asp的新手,我现在真的不喜欢它.迫不及待地想要重新开发.net;)

谢谢

Eri*_*aal 25

在经典ASP中执行此操作的通常位置是global.asa文件中的应用程序变量:

SUB Application_OnStart
    application("connectionstring")= "[your connectionstring]"
END SUB
Run Code Online (Sandbox Code Playgroud)

然后,您可以application("connectionstring")在每个页面上使用,而无需在页面上包含.

  • +1干净的代码,易于使用。请参考[this](https://www.w3schools.com/asp/asp_globalasa.asp)页面以了解有关global.asa文件的更多信息 (2认同)

Fil*_*urt 7

只需使用服务器端包含所需的所有应用程序设置即可.实现它比阅读web.config更容易(也更快),并为您提供相同的灵活性.

config.asp里

<%
Dim connectionString
connectionString = "your connectionstring here"
%>
Run Code Online (Sandbox Code Playgroud)

Default.asp的

<% Option Explicit %>
<!-- #include virtual="config.asp" -->
<%
'---
' ... use connectionString here
'---
%>
Run Code Online (Sandbox Code Playgroud)

根据您的说法,您也可以在其他地方使用SSI改善您的遗产.