Как мне преобразовать устаревшие приложения ASP в ASP.NET?

StackOverflow https://stackoverflow.com/questions/111071

Вопрос

У нас есть большое приложение ASP (classic ASP), и мы хотели бы преобразовать его в .NET, чтобы работать над дальнейшими выпусками.Нет смысла продолжать использовать ASP, поскольку он устарел, и мы не хотим переписывать его с нуля (Джоэл Спольский расскажет вам почему).

Есть ли способ преобразовать его из ASP в ASP.NET автоматически?

Это было полезно?

Решение

Ну,, Раньше я работал в компании, где все веб-приложения были на классическом ASP.Когда было принято решение перейти на .NET, нам нужно было найти способ преобразовать 168 (!) веб-приложений в эту новую платформу.Я перепробовал все доступные на тот момент инструменты, чтобы сделать это, и все они потерпели неудачу.

Лучший способ - создать новый веб-сервер и начать там с нуля, таким образом, вы можете быть уверены, что обновление произойдет быстро и будет работать без каких-либо сбоев из-за интеграции старого и нового.Вы сможете выбрать, какую функциональность и внешний вид сохранить, а какие изменить.Не тратьте свое время на автоматические инструменты для обновления ваших старых ASP-файлов / сайтов до NET platform.До сих пор ни один из них не работал должным образом.

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

Другие советы

Даже если существуют инструменты для конвертации между классическим ASP и ASP.NET, они не дадут очень хороших результатов:эти две среды просто слишком фундаментально отличаются.Быстрый поиск в Google выдает несколько результатов, в основном типа "мы попросим наших парней в Индии сделать это".

Мой совет был бы пока не трогать ваш существующий ASP-код.Среда выполнения будет поддерживаться Корпорацией Майкрософт в обозримом будущем, поэтому срочной необходимости в миграции нет.Вместо этого начните работать над новой функциональностью в ASP.NET:таким образом, вас не будут сдерживать устаревшие концепции, и вы сможете использовать новые возможности, предоставляемые фреймворком (включая такие вещи, как ASP.NET MVC), любым способом, который вы сочтете нужным.

Конечно, ваш новый код должен будет работать с существующей средой ASP. Совместное использование состояния сеанса между ASP и ASP.NET скорее всего, это будет одним из ваших первых требований, но вскоре вы выявите и другие подобные проблемы.

"Правильное" решение для таких проблем будет полностью зависеть от вашего текущего кода и требований:иногда вы сможете обернуть .NET-код в COM-объект для использования вашим ASP-кодом, иногда решением может быть частичное перенос / миграция.

Однако, в среднем, подход "двух миров" должен быть полностью осуществимым и позволять вам разрабатывать захватывающие новые функции, не беспокоясь о своем устаревшем коде.


Дополнение к первоначальному ответу за декабрь 2009 года: Только что наткнулся на Классический Компилятор ASP, который является активно поддерживаемым компилятором VBScript, который преобразует классические страницы ASP в код, который выполняется изначально на ASP.NET.Он имеет несколько интересных функций, таких как возможность использовать его в качестве ASP.NET в MVC пользовательский ViewEngine, поэтому, несмотря на статус бета-версии, он определенно кажется, стоит держать ухо востро...

У Microsoft есть статья на MSDN, в которой говорится о Перенос страниц ASP в ASP.NET.Они в основном говорят вам установить .net на вашем компьютере / сервере и преобразовывать по одной странице за раз.ASP и ASP.NET могут сосуществовать, поэтому вы можете переименовывать каждую страницу в "aspx" по ходу работы.Однако следует отметить, что состояние сеанса и состояние приложения не являются общими для ASP и ASP.NET pages (см. Ответ @mdb для решения этой проблемы.)

Существует также ASP для ASP.NET Помощника по миграции, но я не уверен, что проект / программа все еще активны.Вы можете попробовать это, загрузив с этой страницы:

http://www.asp.net/downloads/archived/migration-assistants/asp-to-aspnet/

gmStudio - это комплексный инструмент обновления VB6 / ASP / COM до .NET.Он может читать, анализировать, интерпретировать, переписывать и реструктурировать (как C # или VB.NET) отдельные страницы + включает в себя или целые сайты.

Технология активно разрабатывается с 2007 года, и мы использовали ее, чтобы помочь нам переписывать сайты объемом от нескольких сотен страниц до 1000.

Инструмент одобрен о MSDN здесь.

(Старое) демо-видео - это в скринкасте здесь. (Мне действительно нужно это обновить!А до тех пор, пожалуйста, дайте мне знать, если вам нужна живая демо-версия, чтобы ознакомиться с последними новинками.)

Мне есть о чем еще рассказать, пожалуйста свяжитесь с нами, если вам это интересно.

Отказ от ответственности:Я работаю на "Великое переселение народов".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top