2008-08-17 3 views
5

ASP.NET MVC был discussed на этом форуме несколько раз. Я собираюсь сделать большой переход нескольких веб-сайтов из классических ASP/ASP.NET WebForms в ASP.NET MVC и задавался вопросом, какой совет у вас есть опыт в обеих технологиях.Предложения по миграции из ASP.NET WebForms в ASP.NET MVC?

То, что у меня есть: типичное приложение ASP.NET с жесткой связью презентационной/бизнес-логики, всевозможные грязные ASP.NET-генерируемые Javascript-рывки и т. Д.

Что я хочу: чистая агностическая разметка ASP.NET MVC. 'Достаточно.

Любые указатели, подсказки, трюки или gotchas, о которых нужно знать?

Спасибо!

ответ

2

Любые указатели, подсказки, приемы, или Что нужно знать?

Ну, я думаю, вы, вероятно, немного пути далеки от мыслей о трюках & подводных камней :) Я уверен, что вы знаете, ASP.NET MVC является не какой-то новая версией ASP.NET, но совершенно другой парадигмой ASP.NET, вы не будете мигрировать, вы будете инициировать новые усилия по разработке, чтобы заменить существующую систему. Так что, может быть, вы можете понять, что нужно для приложения, но остальные, вероятно, будут перестроены с нуля.

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

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

Here is a post to links on using ASP.NET MVC, но я бы начал с reading this post. Сообщение о NHibernate (инструмент ORM) на его поверхности, но обсуждение и ссылки касаются правильного получения оснований и являются результатом подготовки к переносу сайта ASP.NET в MVC. Некоторые ссылочные архитектуры, связанные с этим сообщением, основаны на ASP.NET MVC. Here is another post about NHibernate, но в разделе «Лучшие практики & Reference Applications» большинство, если не все перечисленные ссылочные приложения, также являются приложениями ASP.NET MVC. Ссылочные архитектуры могут быть чрезвычайно полезны для быстрого получения представления о том, как можно создать оптимальный, поддерживаемый ASP.NET MVC-сайт.

3

Вау, я не уверен, что мы говорим о миграции здесь больше - разница больше напоминает переписывание!


Как и другие также сказали, MVC это совершенно новый способ создания веб-приложений - большая часть кода презентации не будет нести в поперечнике.

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

Другой вопрос: почему? У многих из нас есть большие растянутые устаревшие приложения, которые мы хотели бы использовать в новейших технологиях, но если ваше приложение уже работает, зачем переключаться?

Если бы я смотрел новое приложение прямо сейчас, MVC был бы очень сильным кандидатом, но нет достаточной прибыли, чтобы перейти к нему в конце проекта.

0

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

1

WebForms может жить с контроллерами MVC в том же приложении. По умолчанию маршрутизация не направляет запросы на файлы, которые существуют на диске. Таким образом, вы можете начать переписывать небольшие части своего сайта за раз, чтобы использовать шаблон MVC, и оставить остальную часть, используя WebForms.