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

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

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

Ответы на вопрос(4)

Решение Вопроса

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

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

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

ET. Он может читать, анализировать, интерпретировать, переписывать и реструктурировать (как C # или VB.NET) отдельные страницы + целые сайты.

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

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

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

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

Отказ от ответственности: я работаю на великих миграций.

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

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

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

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

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

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

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

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

December 2009 addition to original answer: Просто наткнулся наASP Classic Compiler, который активно поддерживается компилятором VBscript, который преобразует классические страницы ASP в код, который изначально работает на ASP.NET. У него есть несколько интересных функций, таких как возможность использовать его как пользовательский ViewEngine ASP.NET MVC, поэтому, несмотря на его бета-статус, определенно стоит присмотреться ...

Ваш ответ на вопрос