Asp classic 有很多包括';ASP classic中的s(在“case”中)会影响服务器的性能吗?
我想使用ASP classic构建此页面: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
<%
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文件,则无法使用它。