Какой самый простой способ конвертировать asp classic в asp.net?
Я разработчик.Net, которому поручено обновить классический сайт asp до asp.net. Сайт в настоящее время работает на удачу и жевательную резинку, но не хватает времени или денег, чтобы остановить прогресс и полностью переписать. Конечно, мне все еще нужно будет предоставлять новые функции во время обновления.
Какие стратегии мне следует использовать для плавного постепенного изменения asp.net? Должен ли я перейти на одноуровневое решение.net, а затем реорганизовать его в подходящее многоуровневое решение или я должен спроектировать свой бизнес и уровни данных сейчас? Стоит ли переходить сразу на 3.5 или проще просто перейти на 1.1 и обновиться до 2.0 или 3.5 после?
Полная конвертация, вероятно, займет 3-5 месяцев. Существует также некоторый существующий код 1.1, поэтому я рассматриваю его как отправную точку.
9 ответов
Будучи давним классическим программистом asp, а теперь разработчиком ASP.NET, я бы потратил время и правильно спроектировал его в рамках 2.0 (3.5, если вам нужны / нужны функции).
В моей прошлой работе у нас была большая куча очень плохих классических приложений для asp, которые мы перестраивали, и подход "nuke and pave" был наиболее успешным. Используйте существующее классическое приложение в качестве своей функциональной спецификации и каркасов, и создавайте свои задачи и технические характеристики из этого.
Не выбрасывайте свой код!
Это единственная худшая ошибка, которую вы можете совершить (на большой кодовой базе). Смотрите вещи, которые вы никогда не должны делать, часть 1.
Вы вложили много усилий в этот старый код и исправили множество ошибок. Выбросить это - классическая ошибка разработчика (и я делал это много раз). Это заставляет вас чувствовать себя "лучше", как весенняя уборка. Но вам не нужно покупать новую квартиру и всю новую мебель для вашего дома. Вы можете работать в одной комнате за раз... и, возможно, некоторые вещи просто нуждаются в новой покраске. Следовательно, это то, где рефакторинг вступает в силу.
Чтобы получить новые функциональные возможности в вашем приложении, запишите его на C# и вызовите его из классического ASP. Вы будете вынуждены быть модульными, когда переписываете этот новый код. Когда у вас будет время, вы также сможете рефакторировать части своего старого кода в C# и исправлять ошибки по мере продвижения. В конце концов, вы замените свое приложение новым кодом.
Вы также можете написать свой собственный компилятор. Мы давно написали один для нашего классического приложения ASP, чтобы позволить нам выводить PHP. Это называется Васаби, и я думаю, что именно поэтому Джефф Этвуд думал, что Джоэл Спольски ушел со своего рокера. На самом деле, может быть, мы должны просто отправить его, и тогда вы могли бы использовать это.
Это позволило нам переключить всю нашу кодовую базу на.NET для следующего выпуска, в то же время переписывая только небольшую часть нашего исходного кода. Это также заставило кучу людей назвать нас сумасшедшими, но написание компилятора не так сложно, и это дало нам большую гибкость.
Кроме того, если это только внутреннее приложение, просто оставьте его. Не переписывайте его - вы единственный клиент, и если вам необходимо выполнить его как классический asp, вы можете выполнить это требование.
Сколько времени займет полное преобразование / перезапись? Это также будет зависеть от того, как вы структурировали свой оригинальный проект.
Я могу ответить, что вы должны просто ориентироваться на v2.0 (3.5, если вы хотите / нуждаетесь в его возможностях) с самого начала. Там нет необходимости подвергать себя 1.1 рамки.
Попробуйте эти ссылки
Я бы не стал вдаваться в.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
Павел
Взгляните на форумы Snitz (www.snitz.com) - они в настоящее время находятся в ASP, но порт для ASP.NET почти завершен. Обе базы кода доступны для вас, чтобы вы могли понять, как это было сделано, чтобы помочь вам.
Возможно, вы захотите взглянуть на новую платформу ASP.NET MVC. Уровень гибкости поразителен, а стиль кодирования немного больше похож на классический подход ASP, хотя и с гораздо лучшим разделением церкви и государства.
Я также работаю над постепенным переходом от классического ASP к ASP.NET. Наша первая фаза - это миграция некоторой общей логики из ASP-включения в сборку.NET, доступную для COM-взаимодействия, чтобы они могли вызываться как классическим ASP, так и ASP.NET. Я написал несколько тестов с использованием ASPUnit для проверки поведения после миграции на сборку.NET (с дополнительным преимуществом более безопасного рефакторинга). Как только основная логика будет в.NET, мы можем начать создавать новые страницы в ASP.NET и переносить отдельные страницы ASP в ASP.NET в своем собственном темпе.
Я бы порекомендовал.NET 2.0 или 3.5 более 1.1. ASP.NET MVC выглядит привлекательным путем обновления.
Самый простой способ сделать это - просто сначала прыгнуть в голову. получить несколько книг asp.net и погрузиться в визуальную студию. Делайте примеры, играйте с ними, создавайте что-нибудь интересное для себя. Вы будете учиться на практике.