2009-11-12 1 views
3

На протяжении многих лет у меня была цель выйти из ASP/VBScript на «лучший» язык - моим предпочтением было бы C#, поскольку у меня есть навыки на C, но я бы рассмотрите другие языки (включая PHP и т. д., а не только DotNet)Migrate (monolithic) Классический ASP для ASP.Net

Цель состоит в том, чтобы база кода была на языке, который больше для нас. Я ненавижу отсутствие ввода данных в VBScript, я хотел бы использовать несколько разных «контейнерных объектов», а не просто словарь, и т. Д. - на самом деле мне интересно, почему, переместившись с Basic на C в 80-е годы и затем C++ в то время после этого мне удалось переместить «назад» на «Основной» в 00.

(Я мог запрограммировать объекты контейнера в VBScript, но мой инстинкт заключается в том, что они будут медленными в работе, у нас есть значительный кеш «фрагментов» HTML, используемых при рендеринге страницы, ASP Application Object довольно тупой инструмент!)

Мой ASP/VBScript - это одно большое приложение, которое в основном является «движком» для доставки веб-контента.

Это было много лет в процессе создания, и теперь код ASP меняется редко. (Так что мне нужно оправдывать его перемещение вообще или просто жить с VBScript «навсегда»)

Он управляется данными из базы данных MS SQL.

Существует только одна страница .ASP (состоящая из нескольких включенных файлов).

На основе параметров строки запроса Шаблоны скинов и CMS для страницы загружаются из базы данных и подходящей базы данных. Запускаются Sprocs для получения данных, которые объединены в шаблоны CMS.

Данные о странице (методы использования и т. Д.) Также извлекаются из базы данных, а также сведения о разрешениях доступа и т. Д.

Из того, что я прочитал некоторые эти вещи могут сделать миграцию проще: сеансы

ASP не используется - сеанс печенья используется для получения данных сеанса из БД (так что я мог бы легко разделить сессию наполовину и с ASPX в сумме половины

VBScript использует ВАРИАНТ EXPLICIT повсюду, так что все переменные являются предопределенными.

Все выход через Response.Write (на самом деле большинство контента объединены в одну переменную, а затем выход). Существует без смесей HTML и <% код сервера% >.

У меня есть классы VBScript, но не так много.

У меня есть множество функций VBScript и несколько подпрограмм.

У меня есть набор тестов. Это захватывает снимки экрана из браузера и графически сравнивает их с основными изображениями - таким образом, у меня есть возможность выполнить регрессионный тест.

У меня нет ресурса для полной перезаписи; поддержание существующего кодекса необходимо продолжить во время миграции; но, сказав, что 99% нашей работы находится в CMS или SQL Sprocs, поэтому изменения в ASP-коде нечасты.

Я прочитал об утилите MS для переноса ASP-кода на VB.NET. Учитывая, что мой код является 100% VBScript и не сочетается с HTML/Script, я бы оценил мнения о том, поможет ли это мне много или мало?

Я был бы рад реорганизовать STAYING IN VBscript с целью облегчения перехода на DotNet позже (но мне нужно было знать, что мои цели были в этом :) :). Я мог бы, например, перенести некоторые/все функции на COM-объект и, возможно, сделать это по частям?

Спасибо за вашу помощь

+1

Существует тонкая грань между стеной текста и абзацем для каждого предложения. – maxpower47

+3

Я предпочел бы это над стеной текста. –

+0

Второй параграф имеет два предложения :) Проза не моя сильная сторона, извините. – Kristen

ответ

4

У меня есть большой ASP классической интрасеть, что я не поддерживая до прошлого года, и он старел, но новые части были еще добавлены в ASP классического, потому что там было так много коды библиотеки уже инвестировано. У вас уже есть хорошая настройка, если вы часто не меняете ASP-код и имеете какую-то форму тестирования. (Я должен признать, что это первый раз, когда я услышал о скриншоте). Если все отключено от базы данных и работает. не сломайте его.

PHP предоставит вам такую ​​же проблему типов вариантов, но даст вам мир вариантов и вариантов, которые делают ASP classic похожим на игрушку для детей. Из коробки PHP делает все, что мне когда-либо нужно делать.

ASP.net - БОЛЬШАЯ структура. Понять это правильно и полностью - непростая задача, и это очень меня удивляет. он пытается сделать что-то для разработчиков, исходящих из среды форм автоматически, что становится очень назойливым, когда вы получаете очень точную методологию рендеринга, как вы говорите, что у вас есть. Я обнаружил, что постоянно борюсь с технологией, пока не появился ASP.net MVC. Это лучше подходило моему разуму из-за того, как он работал, и сделал то, о чем я его просил, и ничего больше. C# - удивительный язык, с блестящими функциями, а структура DOT.net позволяет вам делать что угодно, если вы можете просто найти нужные фрагменты. Существует так много всего, что вы иногда будете писать что-то, что было сделано в рамках уже, только чтобы найти его сразу после завершения вашей собственной реализации.

Фактически миграция может привести к некоторым интересным проблемам. Несмотря на то, что вы можете запускать страницу ASP.net, похожую на страницу ASP classic, вы потеряете многие преимущества среды, поскольку она предназначена. Тем не менее, я сделал несколько тестов, направленных на то, чтобы перенести данный сайт на ASP.net и сумел найти пути вокруг большинства камней преткновения и пришел к выводу, что такая миграция на самом деле будет «простой работой». Исключительное количество человеко-часов, которое потребовалось бы для такой миграции, сделало данное мероприятие неосуществимым.

Лично я бы не предложил такую ​​миграцию, если у вас нет нескольких проектов ASP.net под вашим поясом, и они знают о том, что asch.net приносит с собой.

Я не видел инструмент преобразования ASP в ASP.net, о котором вы говорите, но хотел бы получить ссылку на него.

Если вы находитесь в VBScript и не знаете проект AX (ASP Xtreme Evolution) here Я могу предложить вам изучить его, чтобы вдохновить на то, чтобы пройти мимо нескольких классических «ограничений» ASP и для библиотеки функциональности, которую он предоставляет.

+0

Прочитал «ASP Xtreme Evolution», выглядит интересно и JSON/URL rerwite (смотря на это в любом случае) и т. Д. - это то, что будет полезно; спасибо за это и ваши другие комментарии. Ссылка перехода ASP на ASP.NET: http://www.asp.net/downloads/archive/migration-assistants/asp-to-aspnet/ – Kristen

+0

Средство преобразования ASP-ASP.NET от Microsoft было предложено в версии 1.0 & 1.1 каркасные дни. Что произошло во время конверсии, так это то, что классическая страница ASP со всем VBScript будет изменена на встроенную разметку VB.net, смешанную с текущей разметкой HTML. Эффективен при преобразовании этого, если вы использовали COM-объекты и еще много чего, инструмент преобразования не сможет обрабатывать эти элементы. После этого требуется большая очистка, и у вас все еще нет преимуществ от перехода с чистой страницы aspx slate. – Chris

0

Если вы ищете способ обоснования проекта для управления, становится все труднее находить классических разработчиков ASP, чтобы продолжать поддерживать приложение. Любой разработчик, у которого есть выбор, вероятно, не захочет поддерживать приложение, созданное с использованием VBScript. Разработчики, которые выполняют эту работу, могут считать это временным и продолжать искать другую работу.

Хотя я ничего не слышал от Microsoft, не может быть слишком много лет, прежде чем они решит полностью отказаться от классического ASP.