Лучший способ постепенно преобразовать существующий сайт ASP.NET в MVC - PullRequest
24 голосов
/ 17 октября 2008

Пожалуйста, имейте в виду, что это ново для меня, и я, возможно, пропустил что-то важное.

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

У меня здесь два вопроса:

1) Мне нужно постепенно заменять страницы, потому что я не могу конвертировать все сразу. 2) Если возможно, существующие URL-адреса (физических файлов) должны быть сохранены.

Как я вижу, у меня есть следующие варианты:

1) Создайте новое корневое веб-приложение MVC в корне веб-сайта, а затем добавьте к нему существующие страницы HTML / ASPX / ASMX / .... Таким образом, маршруты всегда относятся к корню веб-сайта.

2) Измените существующие Global.asax, Web.config, Default.aspx (и т. Д.), Чтобы включить обработчик MVC для маршрутизации, а затем опубликуйте приложение MVC в подпапке.

Какой самый простой способ сделать это, и я что-то упустил?

Спасибо, Laurent

Ответы [ 4 ]

10 голосов
/ 30 апреля 2009

Как и вы, я решаю эту проблему. Несколько вещей, с которыми я столкнулся, я опубликовал здесь https://stackoverflow.com/users/84825/mouffette, и они в основном связаны с SETUP. Лучше всего начать новый проект MVC и сравнить файлы и структуру с существующим приложением ASP.NET. Если вы сомневаетесь, просто переходите от строки к строке и к web.config'ам, и в итоге вы получите это; -)

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

Эти ссылки также помогли:

http://media.wiley.com/assets/1539/15/professionalaspnet35mvc_chapter13.pdf http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf

и вы уже нашли лучший сайт ... stackoverflow.

2 голосов
/ 17 октября 2008

Скотт Хансельман имеет хороший пост в блоге, в котором обсуждается, как объединить MVC с веб-формами и другими технологиями ASP.NET. http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

1 голос
/ 17 октября 2008

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

"Классический сайт ASP.Net" - странно слышать.

0 голосов
/ 17 октября 2008

Я думаю, что вопрос был сформулирован неправильно, потому что я не это имел в виду.

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

Я нашел руководство о том, как создавать новые приложения MVC и даже как интегрировать в него новый контент на основе веб-форм, но гораздо меньше о постепенном переносе приложения в MVC.

Я нашел эту ссылку http://blog.eworldui.net/post/2008/05/ASPNET-MVC---Living-in-a-Web-Forms-World.aspx

Это многообещающе, но звучит как ооооочень много работы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...