MVC4 Razor Custom View Locator
Estoy trabajando en una aplicación MVC4 que está diseñada para dar servicio a dos dominios. La mayoría de nuestro contenido se compartirá entre los dominios, pero a veces tendremos que hacer un marcado diferente (usando Razor) dependiendo del sitio del que proviene la solicitud.
Idealmente, quiero un enfoque basado en convenciones que me permita tener una estructura de carpetas como esta:
Views
+ Domain1
+ ControllerName
View1
View2
+ Domain2
+ ControllerName
View1
+ ControllerName
View1
View2
Al resolver una vista, me gustaría revisar primero la carpeta específica del dominio, luego la carpeta de vistas generales.
Mis primeros pensamientos fueron implementar un motor de vista personalizado que hereda RazorViewEngine que intercambiaría las cadenas de ViewLocationFormats dependiendo del dominio de solicitud. Desafortunadamente, todo esto está oculto en el VirtualPathProviderEngine y no se puede anular.