ASP.NET cms и шаблон отображения - 2 проекта или только 1?

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

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

Я бы хотел, чтобы структура URL была следующей:
---- ПОРТАЛ ----
www.domain.com
www.domain.com/Menu1/Submenu1
www.domain. com/Menu2/Submenu1/SubSubmenu1...
и т. д.

---- CMS ----
www.domain.com/CMS
www.domain.com/CMS/Что угодно

Спасибо,
Иль


person ilija veselica    schedule 18.02.2010    source источник


Ответы (1)


Все зависит от функциональности портала и CMS MVC.

Для начала у меня было бы отдельное решение для доступа к модели/данным, чтобы вы могли иметь столько проектов MVC, не дублируя доступ к данным.

Из желаемой вами структуры URL-адресов я бы, вероятно, использовал CMS в качестве отдельного контроллера и подпапки. В качестве альтернативы, если вы используете MVC 2, вы можете посмотреть на поддерживаемые области, которые, вероятно, дадут вам немного больше гибкости.

Если вы хотите, чтобы решение было немного более сложным/гибким, у вас есть несколько вариантов:

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

Если макет/функциональность немного отличаются, но один контроллер по-прежнему может управлять обоими, у вас может быть отдельный проект контроллера и два проекта mvc, которые содержат только представления, javascript и изображения, поэтому оба решения mvc смотрят на ваше решение контроллера. С этой опцией вы, вероятно, в конечном итоге настроите два веб-сайта в своем домене, один в корневом каталоге, а другой в папке CMS (в вашем приложении MVC вам, возможно, потребуется заблокировать маршруты к /CMS, чтобы он был обработан вашим приложением CMS ).

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

person lancscoder    schedule 18.02.2010