ASP.NET MVC 3 RC e personalizzato ViewEngine per consentire Visualizzazioni caricati esternamente

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

Domanda

Sto giocando in giro un po 'con dividere un MVC-site in diverse assemblee (imbattuto in alcune problemi in precedenza ).

Ora ho quasi tutto lavoro, ha ottenuto il progetto principale MVC che i carichi in qualsiasi assembly esterni si possono trovare. I complessi esterni sono sostanzialmente esterna aree . Quando ho avuto copiare i Viste e web.config per il tutto-principali siti Zone-cartella funzionato bene. Ora, tale cartella sarà più probabile iniziare a ottenere un po 'gonfio dopo un po', così ho pensato che avrei provato aggiungere nelle viste come risorse nella zona di montaggio, invece, vedere come che ha funzionato.

creato il mio VirtualPathProvider e la mia VirtualFile, li registrata con il pensiero HostingEnvironment tutto andava bene. Si scopre che si utilizza solo la VirtualPathProvider aggiunto al HostingEnvironment al primo carico, non per i seguenti View carichi da parte del ViewEngine .. Ok bene, ha trovato alcuni esempi di come si potrebbe ottenere intorno a questo implementando il proprio ViewEngine di utilizzare il proprio VPP. Ma sì, questo non sembra essere una soluzione praticabile per MVC 3 ..

Come si è visto, né RazorViewEngineWebFormViewEngine implementare due delle "funzioni-chiave" Sembra, FileExists e IsValidPath. Questi sono ereditati da BuildManagerViewEngine, e sai una cosa? Questi metodi sono contrassegnati come sealed ..

Chiunque abbia provato questo con MVC 3 e forse potrebbe mi spingere nella giusta direzione? Sono stato a fissare la fonte MVC 3 ora per un bel po ', ma non riesco proprio a vedere alcun modo di fare questo ..

È stato utile?

Soluzione

Ora mi sento un po 'stupido, a quanto pare ho caricato il VPP troppo tardi .. avevo in Application_Start, ma quando mi sono trasferita al mio PreApplicationStartMethod invece, è stato utilizzato dal ViewEngine. (Quindi nessuna implementazione di ViewEngine sembra essere necessario, Wey!)

problema ora è che quando cerco di arrivare a una visualizzazione che è memorizzato come una risorsa, riesco a scaricarlo, invece di averlo reso .. Ma questo è qualcosa di diverso da questo modo!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top