Подтвердить что ты не робот

Лучший способ постепенного преобразования существующего сайта ASP.NET в MVC

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

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

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

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

Как я вижу это, у меня есть следующие опции:

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

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

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

Спасибо, Laurent

4b9b3361

Ответ 1

Как и вы, я решаю эту проблему. Несколько вещей, с которыми я столкнулся, я опубликовал здесь 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.

Ответ 3

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

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

Ответ 4

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

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

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

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

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

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