Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic 在经典ASP.NET中读取web.config值_Asp Classic_Web Config - Fatal编程技术网

Asp classic 在经典ASP.NET中读取web.config值

Asp classic 在经典ASP.NET中读取web.config值,asp-classic,web-config,Asp Classic,Web Config,我继承了一个需要支持的传统经典asp站点,并且正在设置开发/调试环境,因此我不必在生产服务器上工作 代码有点乱,在不同的.asp文件中,有数百个连接字符串点缀在这个地方。这些都包含对SQL server等的硬编码引用 我真的不想用我的本地开发环境SQL DB设置替换所有这些设置,所以我想知道是否有一种简单的方法可以让经典asp从.net web.config文件读取。通过这种方式,我可以将所有硬编码的连接字符串更改为从这个位置读取,然后我只需要在一个位置定义服务器详细信息 这意味着我可以在本地编

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

代码有点乱,在不同的.asp文件中,有数百个连接字符串点缀在这个地方。这些都包含对SQL server等的硬编码引用

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

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

请在你的答案中提供清晰的例子,因为我对经典asp还不熟悉&我在这个阶段真的不喜欢它。迫不及待地想在.net中重新开发它;)


谢谢

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

config.asp

<%
Dim connectionString
connectionString = "your connectionstring here"
%>
<% Option Explicit %>
<!-- #include virtual="config.asp" -->
<%
'---
' ... use connectionString here
'---
%>

Default.asp

<%
Dim connectionString
connectionString = "your connectionstring here"
%>
<% Option Explicit %>
<!-- #include virtual="config.asp" -->
<%
'---
' ... use connectionString here
'---
%>


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

SUB Application_OnStart
    application("connectionstring")= "[your connectionstring]"
END SUB

然后,您可以在每个页面上使用
应用程序(“connectionstring”)
,而无需在页面上包含

谢谢,是的,我可以做很多事情来改进它,但就我而言,它是死代码。我想尽可能少地使用它&从头开始重新开发:)@bob:但是使用文件扩展名.asp而不是.inc。如果IIS服务器具有.*映射,您可能会意外地使外部计算机能够下载/config.inc。如果连接字符串可以包含用户名和密码,因此不允许外部访问。@Anthony可能对专用应用程序池用户使用集成安全性也是一个好主意。+1干净的代码,易于使用。请参阅第页以了解有关global.asa文件的更多信息以前从未想到过….:-o(2017年实现这一目标的绝佳方式);)