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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage