Предложения по переходу с ASP.NET WebForms на ASP.NET MVC?

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

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

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

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

Спасибо!

17.08.2008 16:18:54
4 ОТВЕТА

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

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

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

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

Вот пост с ссылками на использование ASP.NET MVC , но я бы начал с прочтения этого поста . Этот пост о NHibernate (инструмент ORM) на первый взгляд, но обсуждение и ссылки о правильной основе и является результатом подготовки к переносу сайта ASP.NET на MVC. Некоторые из ссылочных архитектур, о которых говорится в этом посте, основаны на ASP.NET MVC. Вот еще один пост о NHibernate , но в разделе «Рекомендации и справочные приложения» большинство, если не все перечисленные справочные приложения, также являются ASP.NET MVC-приложениями. Эталонные архитектуры могут быть чрезвычайно полезны для быстрого понимания того, как может быть разработан оптимальный, поддерживаемый сайт ASP.NET MVC.

2
17.08.2008 17:07:19

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


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

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

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

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

3
17.08.2008 17:51:13

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

0
17.08.2008 16:49:18

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

1
28.08.2008 03:07:46