перепутать веб-форму и MVC в одном проекте и разделить их на 2 проекта в одном решении

#asp.net

#asp.net

Вопрос:

Я пытался смешать WebForm и MVC в одном приложении, но пока у меня ничего не получалось. Похоже, что я пропускаю некоторые шаги, некоторые как, некоторые где. Я действительно устал.

Интересно, просто ли это плохая практика — иметь 3 проекта в решении: первый для модели, второй для веб-формы и последний для MVC.

Спасибо за помощь

Ответ №1:

Если у вас есть два отдельных проекта, один для MVC, а другой для классических веб-форм, это похоже на то, что у вас есть два разных веб-приложения. Эти два должны быть развернуты отдельно в разных виртуальных папках в IIS.

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

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

Но, исходя из личного опыта, я нахожу грязным смешивать классические веб-формы с ASP.NET MVC. У меня просто грязные руки. Что я делаю, так это то, что я бы сохранил устаревшие WebForms как отдельное приложение и начал заменять разные его разделы новым ASP.NET Приложение MVC и два из них будут взаимодействовать только с помощью стандартных методов HTTP (обычно GET и POST глаголы).

Комментарии:

1. Это интересно. Но мой вопрос заключается в том, чтобы узнать, считается ли хранение WebForm и MVC в 2 отдельных проектах плохой практикой. Учитывая также ваше мнение о смешении типов, у меня такое же чувство, что их тоже нельзя смешивать.

2. @Richard77, если вы хотите поговорить о плохих практиках , вам придется предоставить гораздо больше деталей о вашем сценарии. Говоря о том, есть ли 2 или 3 проекта в решении Visual Studio, где вы вряд ли имели бы смысл. Итак, каков ваш сценарий? Что вы пытаетесь сделать? С какими проблемами вы столкнулись? … Поэтому не ожидайте несубъективного ответа на то, что кажется неясным вопросом и неопределенным сценарием и контекстом.

3. Я согласен с вашим ответом. Но я хотел, чтобы вы сказали мне, есть ли плюсы и минусы, связанные с любым выбором. Спасибо.

4. @DarinDimitrov: Я согласен с тем, что это выглядит грязно, но не могли бы вы подробнее рассказать о последствиях маршрутизации этих страниц в одном домене? Кажется, что это очень удобно с RouteConfig MVC, тогда как я не уверен, как добиться такого прозрачного разделения в IIS. Вы запускаете старые страницы в подкаталоге, тем самым нарушая URL-адреса для старого сайта?