MVC4 Razor Custom View Locator
Ich arbeite an einer MVC4-Anwendung, die zwei Domänen bedienen soll. Der Großteil unserer Inhalte wird domänenübergreifend geteilt. Manchmal müssen wir jedoch unterschiedliche Markups (mithilfe von Razor) rendern, je nachdem, von welcher Site die Anforderung stammt.
Idealerweise möchte ich einen konventionellen Ansatz, der mir eine Ordnerstruktur wie die folgende ermöglicht:
Views
+ Domain1
+ ControllerName
View1
View2
+ Domain2
+ ControllerName
View1
+ ControllerName
View1
View2
Beim Auflösen einer Ansicht möchte ich zuerst den domänenspezifischen Ordner und dann den Ordner mit den allgemeinen Ansichten überprüfen.
Meine ersten Gedanken waren die Implementierung einer benutzerdefinierten Ansichts-Engine, die RazorViewEngine erbt und die ViewLocationFormats-Zeichenfolgen abhängig von der Anforderungsdomäne austauscht. Leider ist all dieses Zeug in der VirtualPathProviderEngine vergraben und kann nicht überschrieben werden.