Задача - существующие ASP приложения необходимо перевести в ASP+. Давайте рассмотрим основные требуемые изменения. Задача - существующие ASP приложения необходимо перевести в ASP+. Давайте рассмотрим основные требуемые изменения.
ASP+ - это последнее обновление ASP. Оно вносит огромные изменения в функциональность, в отличии от ASP2 - ASP3, которые имели очень мало различий. Где бы ни было различий, всегда существует проблема совместимости. Значит необходимо как можно проще трансформировать предыдущую версию в новую. Когда была введена версия ASP3, не потребовалось решать таких проблем, т.к. код, написанный в ASP2, работал так же эффективно и в ASP3. В ASP3 в то же время были введены дополнительные возможности, которые позволяют эффективно увеличить функциональность уже существующих версий. К примеру ограничения в методе Redirect объекта Response в ASP2 эффективно преодолены методами Execute и Transfer объекта Server в ASP3.
В ASP+ компания Microsoft представила новое поколение решений, достигающих резкого повышения функциональности и расширения возможностей ценой ухудшения совместимости. Полный переход от ASP к ASP+ включает следующие шаги (возможно еще размещение работающих ASP приложений параллельно) Изменение расширения файла (aspx) Совершение необходимых изменений в коде Тщательное тестирование Исправление ошибок Перекомпоновка с новым расширением
Давайте главным образом сконцентрируемся на изменениях в структуре кода, требуемых для перехода от ASP к ASP+. Требуемые модификации кода представлены в различных аспектах. Давайте рассмотрим несколько наиболее общих из них. Изменения в объектах и языке ASP
Рассмотрим простенький код.
В ASP значения Querystring могут быть получены, используя следующий код Response.Write Request.QueryString ("Name")(1) Response.Write Request.QueryString ("Name")(2) Response.Write Request.QueryString ("Name")
На выходе будет:
Venia min Veniamin
В ASP+ приведенный выше код необходимо изменить, как показано ниже
Мы можем отметить дополнительный метод GetValues, используемый объектом Request для доступа к членам набора QueryString. Другое крупное отличие ASP+ состоит в том, что теперь поддерживаются компилируемые языки. ASP+ более не поддерживает VBScript, используемый в предыдущих версиях. Он заменен VB.NET и новым языком - C#. Это изменение резко увеличило возможности ASP+. Также Visual Basic имеет различные значимые изменения в новой реализации (VB.NET).
Следующие изменения в языке (Visual Basic 7) могут быть рассмотрены на приведенном ниже примере
Введение индексирования массивов с 0 Введение пробелов после метода write Изменения в вызовах функций
Основные изменения в представлении страницы заключаются в виде функций внутри скриптового блока.
ASP код
<% Function Test () .. End Function %>
будет заменен ASP+ кодом
Таким образом? для изменения простого ASP кода на код ASP+ необходимо внести приведенные выше изменения. Для более сложного кода необходимо произвести больше изменений. Особенно в случае компонент, когда должна быть выполнена перекомпиляция (Visual Basic 7) и для баз данных, где должны быть использованы соединения ADO+ для ускорения исполнения.
Microsoft также предусмотрела альтернативное решение проблемы совместимости. Оно заключается в распределении изменений в коде путем инсталлирования на один сервер ASP и ASP+ без их взаимодействия. Это возможно, т.к. после инсталляции ASP+ не происходит никаких изменений с существующей библиотекой asp.dll. Более того, файл, записанный в ASP+, сохраняется с разными расширениями [.aspx, .asmx (Web Service) и .aspc (Pagelets)], отличающимися от существующих ASP файлов. Этот путь дает уверенность в нестрогом переходе от ASP к ASP+. Нельзя не отметить, что новая платформа обеспечивает гораздо лучшую скорость выполнения по сравнению со старой. Ожидается, что Microsoft в скором времени выпустит средство преобразования, которое позаботится о большинстве рассмотренных ранее проблем совместимости.
Итог: ASP+ предлагает прекрасные возможности, но переход от ASP к ASP+ требует некоторого напряжения