В течение многих лет у меня была цель перейти с ASP / VBScript на «лучший» язык - я бы предпочел C #, поскольку у меня есть навыки в C - но я бы тоже рассмотрел другие языки (включая PHP и т. Д., Поэтому не только DotNet)
Цель состоит в том, чтобы иметь кодовую базу на языке, который делает для нас больше. Я ненавижу отсутствие типизации данных в VBScript, я хотел бы иметь ряд различных «контейнерных объектов» - а не просто объект Dictionary и т. Д. - на самом деле, я удивляюсь, почему, перейдя с Basic на C в 80-х годах, и затем через C ++ через некоторое время мне удалось переместиться «назад» в Basic на 00.
(Я мог бы запрограммировать объекты-контейнеры в VBScript, но мой инстинкт заключается в том, что они будут работать медленно; у нас есть значительный кэш «фрагментов» HTML, используемых при рендеринге страницы, объект приложения ASP является довольно тупой инструмент!)
Мой ASP / VBScript - это одно большое приложение, которое по сути является «движком» для доставки веб-контента.
Прошло много лет, и теперь код ASP меняется редко. (Так что мне вообще нужно оправдать его перемещение или просто жить с VBScript «навсегда»)
Управляется данными из базы данных MS SQL.
Существует только одна страница .ASP (составленная из нескольких включаемых файлов).
На основе параметров строки запроса шаблоны скинов и CMS для страницы загружаются из базы данных и запускаются подходящие базы данных Sprocs для сбора данных, которые объединяются в шаблоны CMS.
Данные о странице (методы использования и т. Д.) Также извлекаются из базы данных, вместе с информацией о правах доступа и т. Д.
Из того, что я прочитал, некоторые вещи могут облегчить миграцию:
Сеансы ASP не используются - cookie-файл сеанса используется для извлечения данных сеанса из БД (поэтому я мог бы легко разделить сессию пополам с ASPX
VBScript использует OPTION EXPLICIT, поэтому все переменные предопределены.
Весь вывод осуществляется через Response.Write (фактически большая часть содержимого объединяется в одну переменную, а затем выводится). Нет никакого сочетания HTML и <% кода сервера%>.
У меня есть несколько классов VBScript, но их немного.
У меня есть много функций VBScript и несколько подпрограмм.
У меня есть набор тестов. Это захватывает снимки экрана из браузера и графически сравнивает их с основными изображениями - таким образом, у меня есть возможность сделать регрессионный тест.
У меня нет ресурса для полной перезаписи; поддержка существующего кода должна продолжаться во время миграции; но, сказав, что 99% нашей работы выполняется в CMS или SQL Sprocs, поэтому изменения в коде ASP происходят нечасто.
Я прочитал об утилите MS для переноса ASP-кода в VB.NET. Учитывая, что мой код на 100% состоит из VBScript и не содержит смеси HTML / Script, я был бы признателен за мнение о том, поможет ли это мне много или мало?
Я был бы рад провести рефакторинг STAYING IN VBscript с целью облегчения перехода на DotNet в дальнейшем (но мне нужно знать, каковы были мои цели в этом :)). Я мог бы, например, переместить некоторые / все функции в COM-объект и, возможно, сделать это по частям?
Спасибо за вашу помощь