MVC4 Razor Custom View Locator
Я работаю над приложением MVC4, которое предназначено для обслуживания двух доменов. Большая часть нашего контента будет распределена между доменами, но иногда нам потребуется отображать разметку (используя Razor) в зависимости от того, с какого сайта поступил запрос.
В идеале мне нужен подход, основанный на соглашениях, который позволяет мне иметь структуру папок, подобную этой:
Views
+ Domain1
+ ControllerName
View1
View2
+ Domain2
+ ControllerName
View1
+ ControllerName
View1
View2
При разрешении представления я хотел бы сначала проверить папку, относящуюся к домену, а затем папку общих представлений.
Моими первыми мыслями было реализовать пользовательский механизм представления, который наследует RazorViewEngine, который будет менять строки ViewLocationFormats в зависимости от домена запроса. К сожалению, все это скрыто в VirtualPathProviderEngine и можетне может быть отменено.