0

我正在编写一个应用程序,它将在 Classic ASP 中具有实时和测试环境。这些用途包括很多。但是,因为包含是在 ASP 之前处理的,所以我不能简单地说如下:

<%
    if <Test Environment Condition> then
%>
        <!-- #include virtual="/myAppTest/start.asp" -->
<%
    else
%>
        <!-- #include virtual="/myApp/start.asp -->
<%
    end if
%>

这基本上会将 BOTH 包含加载到 BOTH 环境中,如果 ONE 环境中存在格式错误的函数或类似的东西,则会在 BOTH 环境中引发错误。我可以看到,分离环境的唯一方法是拥有一个虚拟目录,它只包含一个 URL(/myApp 或 /myAppTest),并且此 URL 用于 jQuery .load URL,例如。我能看到的唯一方法是通过 JS 动态加载内容。

另一种解决方法是在两台服务器上拥有相同的虚拟目录,一台测试服务器和一台实时服务器。但是,由于原因过于复杂且可能过于机密而无法解释,因此无法使用此选项。

第一种方法,通过 JS 动态加载内容,是最好的方法还是我错过了什么?

提前致谢。

问候,理查德

4

2 回答 2

1

将应用程序设置在不同的网站下,而不是在 vdir 下。

于 2013-02-03T00:17:29.797 回答
1

出于您提到的原因,请勿完全使用服务器端包含。

相反,您可以在global.asa文件中设置单个应用程序级别变量,并在其中定义“环境”。例如:

Application("Environment") = "Local"

然后“包含”适当的功能:

Server.Execute(Application("Environment") & "_functions.asp")

有了Local_functions.aspProd_functions.asp文件,您就可以根据该应用程序变量包含适当的函数。

于 2013-02-03T11:30:19.580 回答