Недавно я планирую попытаться внедрить архитектуру MVC в ASP. Кто -то, должно быть, спросил меня: ASP был устранен, почему я все еще изучаю это? Я также знаю это. Поскольку Microsoft отказалась от ASP 3.0 и переключилась на ASP.NET, ASP значительно отставала от PHP и JSP, которые начались почти в то же время, что и. Преимущества открытого исходного кода по сравнению с закрытым исходным кодом похожи на PHP и ASP. ASP говорит, что это будет устранено, и никто не может его сохранить. Тем не менее, стоит отметить, что ASP довольно широко на китайском рынке, особенно в некоторых приложениях некоторых малых и средних предприятий. Простая CMS не является проблемой, и его просто развернуть. В некоторых старых системах Windows не требуется установка .NET Framework напрямую, поэтому все еще необходимо подготовить структуру. Тем не менее, это экспериментальная структура, которая просто для того, чтобы проверить, может ли ASP реализовать архитектуру MVC, аналогичную PHP.
Ладно, после того, как так много скажу, давайте просто перейдем к теме. Причиной этой проблемы является то, что мне нужно динамически включать файлы ASP. Как вы знаете, есть только один метод в ASP, то есть SSI (сторона сервера включает), который в основном разделен на следующие два типа:
Кода -копия выглядит следующим образом:
<!-#include file = "sample.asp"->
<!-#include virtual = "sample.asp"->
По сути, первый для этих двух типов используется больше. #include Virtual содержит виртуальные пути, которые можно использовать в виртуальных каталогах. Но оба они статичны. Если мы хотим включить динамически, мы не можем написать это как:
Кода -копия выглядит следующим образом:
<!-#include file = "<%= myvar%>"->
<!-#include virtual = "<%= myvar%>"->
Приведенный выше метод письма неверен. Можно понять, что директива #include выполнена до того, как ASP запустит двигатель сценария, чтобы выполнить тег ASP < % %>. Другими словами, #include-это не работа ASP, а программа на стороне сервера, такая как переводная работа IIS, поэтому вы не будете обращать внимание на свой код ASP.
Как реализовать, включать, включить_онс, потребность и require_once Динамически включает методы сценариев, аналогичные PHP? Давайте посмотрим на метод объекта ASP Server: Server.execute. Поиск всех функций ASP, и вы можете обнаружить, что эта функция наиболее похожа на динамику. Мы можем провести эксперимент:
Sample.inc.asp
Кода -копия выглядит следующим образом:
<%
Ответ. Напишите "Привет, мир!"
%>
test.asp
Кода -копия выглядит следующим образом:
<%
Server.execute "sample.inc.asp"
Response.write "Я тест.asp!"
%>
Фактическим выводом должен быть «Hello World! Я тест. Далее, сделайте следующий эксперимент:
Sample.class.asp
Кода -копия выглядит следующим образом:
<%
Класс образец
Конечный класс
%>
test.asp
Кода -копия выглядит следующим образом:
<%
Server.execute "sample.class.asp"
Ответ.
%>
Запустите непосредственно, ошибка «Ошибка ошибки времени выполнения Microsoft VBScript» 800A01FA 'не определяется: «Пример» », результат очень разочаровывает, почему это происходит? Я посмотрел MSDN и нашел это описание: «Если файл включен в вызову с помощью #Include, выполняемый .ASP не будет использовать его. Кажется, это немного отличается от проблемы, с которой я столкнулся. Server.execute Code изолирован? Затем выполните следующий эксперимент: