加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp-classic – 使用经典ASP区分测试和生产的最佳方式

发布时间:2020-12-16 09:39:55 所属栏目:asp.Net 来源:网络整理
导读:我继承了一个经典的ASP应用程序.有各种各样的东西需要整理,但我被迫逐渐做事(我不能对每个剧本进行大规模的改变). 系统中有一些地方有硬编码的网址.在升级之前必须更改某些脚本,以便将测试Web根名称更改为实时Web根名称.我正在寻找避免这种情况的方法(基本上
我继承了一个经典的ASP应用程序.有各种各样的东西需要整理,但我被迫逐渐做事(我不能对每个剧本进行大规模的改变).

系统中有一些地方有硬编码的网址.在升级之前必须更改某些脚本,以便将测试Web根名称更改为实时Web根名称.我正在寻找避免这种情况的方法(基本上以编程方式处理服务器).

这并不困难.对Request(“SERVER_NAME”)进行简单检查以及此类事情:

appName = Request.ServerVariables("SCRIPT_NAME")
i = InStr(2,appName,"/")   'keep initial "/"
 If i > 0 Then
    appName = Left(appName,i)
End If

这在“随处可见”的脚本中可以解决这个问题.然后只需设置一个全局变量来保存完整的“http(s):// server / app /”或MakeUrlAbsolute()的函数,然后关闭.

然而,这对我来说有点怀疑.这不会更好地存储在应用程序级别吗?这表明在Global.asa中设置它,例如:

Sub Application_OnStart()
    Application("WebRoot") = ...
End Sub

但现在我无法抓住SERVER_NAME,所以我减少了2个不同的Global.asa文件(每个环境一个).

这是我唯一的选择吗?在Application_OnStart中的每个请求或硬代码上进行处理?
也许使用Session_OnStart会是一种妥协.或者是否有一些聪明的技巧来访问Application_OnStart中的信息?也许人们会选择硬编码,因为Global.asa不会经常更改.

解决方法

我的ADO Connection方法如下所示.

'Servername for Application Root Drive
Select Case Left(Request.ServerVariables("PATH_TRANSLATED"),1)
    Case "c" strSrvr = "80.212.207.211"   'my remote server ip
    Case Else strSrvr = "(local)"         'local Sql instance (my project on D: drive)
End Select

strConn = "Driver={SQL Server};Server="& strSrvr &";uid=DBUSER;pwd=MYPASS;database=MYDATABASE"

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open(strConn)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读