如何在经典ASP中分离实时环境和测试环境? (请在取消标记jQuery / JS之前阅读)

时间:2013-02-03 00:11:45

标签: javascript jquery asp-classic

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

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

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

另一种解决方法是在2台服务器上拥有相同的虚拟目录,一次测试,一次测试。然而,由于原因太复杂且可能太过机密而无法解释,这个选项就在窗外。

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

提前致谢。

此致 理查德

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

由于您提到的原因,请不要使用服务器端包含。

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

Application("Environment") = "Local"

然后到&#34;包括&#34;适当的功能:

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

拥有 Local_functions.asp Prod_functions.asp 文件后,您可以根据该应用变量添加正确的功能。