Я бы предложил пройти через эту серию поста Роба Эштона специально
- http://codeofrob.com/archive/2009/11/01/dynamically-switching-between-master-pages-in-asp.net-mvc.aspx
- http://codeofrob.com/archive/2010/02/08/multi-tenancy-in-asp.net-mvc-views.aspx
Тем не менее, я думаю, что вам, возможно, потребуется сделать некоторые изменения в том, как разрешаются имена представлений. Ключевой момент, который я считаю отмеченным в посте Роба, заключается в том, что представления должны быть разрешены и расположены в обратном порядке, т. Е. Всегда искать представления, определенные для вашего текущего сайта, и переходить к корню, где присутствует полный набор представлений.
набор просмотров на уникальный домен + один
по умолчанию
Да - с учетом того, что вам могут понадобиться только определенные представления для домена
области использования?
Нет, в этом случае я не предлагаю разделять ваше приложение, используя Области. Я предполагаю, что вы имеете в виду область на домен. Вы все равно должны разделить свое приложение на Области на основе функциональности и использовать ту же идею для разрешения представлений.
есть еще идеи?
Использование идеи Роба, безусловно, хороший вариант. Тем не менее, я бы принял во внимание, сколько доменов (сайтов) вы ожидаете увидеть по-разному. Я имею в виду случай (не очень YAGNI), где каждая область для каждого сайта имеет различные требования к представлению. Таким образом, для сохранения представлений необходим продуманный план. Пример возможной структуры каталогов.
-- Default
-- Area1 // Site2's views rendered from here
--Views
--Shared
-- Area2
--Views
--Shared
...
-- Site 1 // all views from Site 1 are rendered from this folder
-- Area1
--Views
--Shared
-- Area2
--Views
--Shared
-- Site 2 // only view for Area2 are rendered from here
-- Area2
--Views
--Shared