Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/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 classic中的s(在“case”中)会影响服务器的性能吗?_Asp Classic - Fatal编程技术网

Asp classic 有很多包括';ASP classic中的s(在“case”中)会影响服务器的性能吗?

Asp classic 有很多包括';ASP classic中的s(在“case”中)会影响服务器的性能吗?,asp-classic,Asp Classic,我想使用ASP classic构建此页面: <% Dim depart depart = 1556 Select Case depart Case 1 %> <!--#include virtual="/check/noam/newDesign/test1.asp"--> <% Case 2 %> <!--#include virtual="/check/noam/newDesign/test

我想使用ASP classic构建此页面:

<%
Dim depart

depart = 1556


Select Case depart
    Case 1
    %>
    <!--#include virtual="/check/noam/newDesign/test1.asp"-->
    <%
    Case 2
    %>
    <!--#include virtual="/check/noam/newDesign/test2.asp"-->
    <%
    Case 3
    %>
    <!--#include virtual="/check/noam/newDesign/test3.asp"-->
    <%
    Case 4
    %>
    <!--#include virtual="/check/noam/newDesign/test4.asp"-->
    <%
    Case 5
    %>
    <!--#include virtual="/check/noam/newDesign/test5.asp"-->
    <%
    Case 6
    %>
    <!--#include virtual="/check/noam/newDesign/test6.asp"-->
    <%
    Case 7
    %>
    <!--#include virtual="/check/noam/newDesign/test7.asp"-->
    <%
    Case 8
    %>
    <!--#include virtual="/check/noam/newDesign/test8.asp"-->
    <%
End If
%>

我想知道后台的服务器是否需要输入每个include,或者在正确的情况下只输入include?
我需要知道这一点,因为我想知道服务器的性能是否会因为这一点而变差。

在经典ASP中执行include之前就已经加载了,所以您基本上是在加载所有这些include,即使它们没有执行


您可以使用不同的模式:,这相当于在VB中使用eval()。将文件作为字符串读入,然后执行它。这绕过了一个包含集群,但其本身相当丑陋。

包含在经典ASP中执行之前就已加载,因此您基本上正在加载所有这些包含,即使它们没有执行


您可以使用不同的模式:,这相当于在VB中使用eval()。将文件作为字符串读入,然后执行它。它绕过了一个包含的集群,但其本身相当丑陋。

这实际上取决于包含中的内容,但我不希望这种结构对性能有任何明显的影响,除非您每秒有100个case语句或100个页面请求

的确,在执行代码之前,所有的include都将首先合成到脚本中,但是还应该记住,最终脚本的合成和解析的“p-code”版本是由ASP缓存的

如果包含的内容主要是静态HTML内容,那么这种方法实际上是非常有效的。另一方面,内联全局标识符(未包含在
Sub
Function
Class
中的标识符)越多,在脚本上下文中注册这些标识符所需的时间就越长(但是仍然需要大量标识符才能产生明显的差异)


一种可能的替代方法是使用
Server.Execute
而不是include。在这种情况下,执行的ASP有自己的独立脚本上下文,因此它不能共享调用者函数和变量(这可能是好事,也可能不是好事)还有一种可能性是,Server.Execute实际上会变慢。

这实际上取决于includes中的内容,但我不希望这种结构对性能有任何明显的影响,除非您每秒有100个case语句或100个页面请求

的确,在执行代码之前,所有的include都将首先合成到脚本中,但是还应该记住,最终脚本的合成和解析的“p-code”版本是由ASP缓存的

如果包含的内容主要是静态HTML内容,那么这种方法实际上是非常有效的。另一方面,内联全局标识符(未包含在
Sub
Function
Class
中的标识符)越多,在脚本上下文中注册这些标识符所需的时间就越长(但是仍然需要大量标识符才能产生明显的差异)


一种可能的替代方法是使用
Server.Execute
而不是include。在这种情况下,执行的ASP有自己的独立脚本上下文,因此它不能共享调用者函数和变量(这可能是一件好事,也可能不是好事。)而且很可能
Server.Execute
会变慢。

您可以使用Server.Execute

server.execute("/check/noam/newDesign/test"&depart&".asp")


您可以使用server.execute

server.execute("/check/noam/newDesign/test"&depart&".asp")


您可以使用
ExecuteGlobal
包含外部VBscript文件,但如果外部文件是ASP文件,则无法使用它。您可以使用
ExecuteGlobal
包含外部VBscript文件,但如果外部文件是ASP文件,则无法使用它。