ASP.NET MVC 3 RC und benutzerdefinierte Viewengine für extern geladen Ansichten zu ermöglichen

StackOverflow https://stackoverflow.com/questions/4246647

Frage

Ich spiele um ein wenig mit Dividieren einer MVC-Site in mehrere Baugruppen bis (lief in einige Probleme früher ).

Jetzt habe ich fast alles funktioniert, hat das wichtigste MVC-Projekt, dass Lasten in externen Baugruppen können sie finden. Die externen Baugruppen sind grundsätzlich externe Bereiche . Als ich hatte es die Ansichten und web.config auf das Haupt-Website Areas-Ordner alles kopieren funktionierte gut. Nun wird dieser Ordner wahrscheinlich beginnt ein wenig zu bekommen aufgeblähten nach einer Weile, so dass ich dachte, ich würde versuchen, in den Ansichten als Ressourcen im Bereich Organisation hinzuzufügen stattdessen zu sehen, wie das funktioniert.

meine eigene VirtualPathProvider und meine eigene VirtualFile, registrierte sie mit dem HostingEnvironment Denken alles gut war. Es stellt sich heraus verwendet nur die VirtualPathProvider zum HostingEnvironment bei der ersten Belastung hinzugefügt, nicht durch die folgenden View-Lasten durch die ViewEngine .. Ok gut, ein paar Beispiele gefunden, wie Sie dies Ihrem eigenen ViewEngine umgehen konnte durch die Implementierung zu verwenden, um Ihre eigene VPP. Aber ja, das scheint nicht eine praktikable Lösung für MVC 3 zu sein ..

Wie sich herausstellt, weder RazorViewEngine noch WebFormViewEngine implementieren zwei der „Schlüsselfunktionen“ wie es scheint, FileExists und IsValidPath. Diese werden von BuildManagerViewEngine geerbt, und wissen Sie was? Diese Verfahren sind als sealed markiert ..

Wer das mit MVC 3 und vielleicht versucht hat, konnte mich Schubs in die richtige Richtung? Ich habe jetzt an der MVC-3-Quelle gestarrt für eine ganze Weile, aber ich kann einfach keine Möglichkeit sehen, dies zu tun ..

War es hilfreich?

Lösung

Jetzt fühle ich mich ein wenig dumm, es scheint, dass ich das VPP geladen zu spät .. Wäre es in Application_Start, aber wenn ich es meinen PreApplicationStartMethod bewegte statt, es wurde von der ViewEngine verwendet. (Also keine Implementierung von ViewEngine scheint erforderlich zu sein, Wey!)

Das Problem ist jetzt, dass wenn ich versuche, auf einen Blick zu erhalten, die als Ressource gespeichert ist, erhalte ich es herunterladen anstatt es gemacht .. aber das ist etwas anderes von diesem so!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top