Влияют ли условные файлы включения на производительность ASP? - PullRequest
1 голос
/ 20 января 2012

В (классическом) 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 ]

3 голосов
/ 20 января 2012

Что ж, <!--#include file="page.asp"--> работает в ASP так, что он эффективно вытягивает содержимое этого файла в один кусок кода, а затем компилирует его перед выполнением.Код в ваших включениях должен реально влиять только на производительность компиляции, а не на производительность выполнения.

Несмотря на то, что если ваше приложение структурировано таким образом, я бы серьезно подумал о его доработке, хотя это может не подойти вам.1004 *

2 голосов
/ 20 января 2012

Рассмотрите возможность использования WSC.Они ведут себя как компоненты COM, но могут быть записаны в VBScript.Вы можете дать им свойства и методы.Они также могут быть включены условно и не всегда загружаются, в отличие от файлов INC:

http://aspalliance.com/414_Windows_Scripting_Components_WSC_in_ASP

Еще один совет: вам не нужно (пере) регистрировать WSC какВ статье говорится, что вы можете вызывать / включать WSC-файл, не регистрируя его следующим образом:

GetObject ("script:" & Server.MapPath ("/ path / to / component.wsc"))

HTH,

Эрик

1 голос
/ 16 января 2015

#include обрабатываются перед кодом; поэтому логика if / else не будет выполнена во время включения. В ваш код будут включены как PageX.asp, так и PageY.asp, независимо от условий.

Для получения дополнительной информации вы можете проверить это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...