Какой самый простой способ конвертировать asp classic в asp.net?

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

  •  01-07-2019
  •  | 
  •  

Вопрос

Я .Сетевой разработчик, которому было поручено обновить классический веб-сайт asp до asp.net.В настоящее время веб-сайт работает на luck и bubble gum, но у нас недостаточно времени или денег, чтобы остановить прогресс и полностью переписать его.Конечно, мне все равно нужно будет иметь возможность предоставлять новые функции во время обновления.

Какие стратегии мне следует использовать для плавного постепенного изменения asp.net?Должен ли я перейти на одноуровневое решение .net, а затем провести рефакторинг до надлежащего многоуровневого решения или мне следует разработать свои бизнес-уровни и уровни данных сейчас?Должен ли я сразу перейти на 3.5 или проще просто перейти на 1.1 и после этого обновиться до 2.0 или 3.5?

Полное преобразование, вероятно, займет 3-5 месяцев.Существует также некоторый существующий код 1.1, именно поэтому я рассматриваю возможность использования его в качестве отправной точки.

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

Решение

Будучи давним классическим программистом на asp, а теперь разработчиком ASP.NET, я бы потратил время и правильно спроектировал его в рамках 2.0 (3.5, если вы хотите / нуждаетесь в функциях).

На моей последней работе у нас было большое количество очень плохо созданных классических приложений asp, которые мы перестраивали, и подход "nuke and pave" оказался наиболее успешным.Используйте существующее приложение classic в качестве функциональных спецификаций и каркасов и создавайте на их основе свои задачи и технические спецификации.

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

Не выбрасывайте свой код!

Это единственная худшая ошибка, которую вы можете совершить (на большой кодовой базе).Видишь Вещи, которые вы никогда не должны делать, Часть 1.

Вы вложили много усилий в этот старый код и исправили множество ошибок.Выбрасывание его - классическая ошибка разработчика (и я делал это много раз).Это заставляет вас чувствовать себя "лучше", как после весенней уборки.Но вам не нужно покупать новую квартиру и всю новую мебель, чтобы обустроить свой дом.Вы можете работать в одной комнате за раз...и, возможно, некоторые вещи просто нуждаются в новой покраске.Следовательно, именно здесь на помощь приходит рефакторинг.

Для получения новой функциональности в вашем приложении, напишите это на C # и вызовите из вашего классического ASP.Вы будете вынуждены использовать модульность, когда будете переписывать этот новый код.Когда у вас будет время, также реорганизуйте части вашего старого кода в C # и устраняйте ошибки по ходу работы.В конце концов, вы замените свое приложение полностью новым кодом.

Вы также могли бы написать свой собственный компилятор.Мы давным-давно написали его для нашего классического ASP-приложения, чтобы оно позволяло нам выводить PHP.Это называется Васаби и я думаю, именно по этой причине Джефф Этвуд решил, что Джоэл Сполски сошел с ума.На самом деле, может быть, нам стоит просто отправить его, и тогда вы могли бы им воспользоваться.

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

Кроме того, если это приложение только для внутреннего использования, просто оставьте его.Не переписывайте его - вы единственный клиент, и если вам требуется запустить его как classic asp, вы можете выполнить это требование.

Сколько времени займет полное преобразование / перезапись?Это также будет зависеть от того, как вы структурировали свой первоначальный проект.

Я может ответьте, что вы должны просто настроить версию v2.0 (3.5, если вы хотите / нуждаетесь в ее функциях) с самого начала.Нет необходимости подчинять себя пункту 1.1 фреймворка.

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

Загляните на форумы Snitz (www.snitz.com) - в настоящее время они переведены на ASP, но перенос на ASP.NET почти завершен.Обе базы кода доступны для ознакомления, так что вы можете получить представление о том, как это было сделано, чтобы помочь вам.

Я бы не стал углубляться в .NET 1.1, поскольку Microsoft прекращает поддержку версии 1.1 .NET Framework 14.10.2008.Расширенная поддержка действует до 8.10.2013, но, как правило, ее дорого приобрести.Любые ошибки или бреши в системе безопасности не будут устранены, и это ваша проблема.

http://support.microsoft.com/lifecycle/?LN=en-us&x=11&y=10&p1=1249

Пол

самый простой способ сделать это - просто прыгнуть головой вперед.возьмите несколько asp.net книг и погрузитесь в Visual Studio.Приведите примеры, поиграйте с этим, создайте что-нибудь интересное для себя.Вы будете учиться на практике.

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

Я бы рекомендовал .NET 2.0 или 3.5 вместо 1.1.ASP.NET MVC выглядит как привлекательный путь обновления.

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