条件包含文件会影响ASP性能吗?

时间:2012-01-19 23:41:40

标签: asp-classic

在(经典)ASP中,当使用包含文件时,但由于它们属于IF语句而有效冗余 - 这些冗余包含文件如何影响性能?

例如

<%
If Condition(1) or GlobalCondition Then %><!--#INCLUDE FILE="PageX.asp" --><% End If
If Condition(2) or GlobalCondition Then %><!--#INCLUDE FILE="PageY.asp" --><% End If
%>

可能有数十个未使用的包含文件。一些包含文件只是函数库,但许多文件主要是带有简单服务器端代码的HTML内容。

3 个答案:

答案 0 :(得分:3)

<!--#include file="page.asp"-->在ASP中的工作方式是,它有效地将该文件的内容拉入一个代码块,然后在执行之前对其进行编译。包含中的代码应该只影响编译性能而不是执行性能。

尽管如果您的应用程序结构如此,我会认真考虑重新处理它,虽然这可能不适合您。

答案 1 :(得分:2)

考虑使用WSC。它们的行为类似于COM组件,但可以用vbscript编写。您可以为它们提供属性和方法。它们也可以有条件地包含在内,并不总是加载,与INC文件不同:

http://aspalliance.com/414_Windows_Scripting_Components_WSC_in_ASP

还有一个提示:您不必像文章所说的那样(重新)注册WSC,您可以调用/包含WSC文件而不必像以下那样注册它:

GetObject的( “脚本:” &安培;使用Server.Mappath( “/路径/到/ component.wsc”))

HTH,

埃里克

答案 2 :(得分:1)

在代码之前处理#include;所以在包含时不会执行if / else逻辑。在您的代码中,无论条件如何,都将包含PageX.asp和PageY.asp。

有关详情,请查看this