5

Attualmente ho un account personalizzato VirtualPathProvider in un'applicazione web ASP.net MVC.Esecuzione di un VirtualPathProvider personalizzato con un sito Web PreCompiled

Questo VirtualPathProvider controlla l'area dall'itinerario "/{Area}/{Controller}/..." e utilizza il modulo NameSpace.{Area}.Main.dll per restituire le viste contenute in quell'assieme come risorse incorporate.

Questo funziona perfettamente e non è necessario distribuire alcun file ascx, js, css.

Ora il mio problema è questo:

vorrei precompilare i file aspx e ascx nel montaggio e invece di avere le viste come risorse incorporate avrei la classe di visualizzazione con la Response.Write.

Posso precompilare le viste utilizzando aspnet_compiler ma continuo a ricevere un errore quando mai il ViewEngine tenta di trovare la vista e non riesce.

Il mio obiettivo principale è quello di avere un modo per utilizzare per la prima volta una determinata vista/usercontrol più veloce e non aspettare che la compilazione avvenga.

Questo è un requisito poiché l'applicazione può essere raggruppata in plug-in e questi plugin possono essere distribuiti nella directory Bin.

Qualche idea?

risposta

8

Questo post del blog VirtualPathProvider In Precompiled Web Sites di Coskun SUNALI descrive una soluzione che utilizza la riflessione. Si prega di notare che egli rende molto chiaro che questa non è una soluzione ufficialmente supportata da Microsoft, ma a giudicare dai commenti sul suo post sul blog sembra funzionare bene per alcune persone.

+0

Appena notato che c'era una domanda simile http://stackoverflow.com/questions/12397/net-virtualpathproviders-and-pre-compilation che si riferiva già a questa soluzione –

+0

Grazie per la risposta. Sto attualmente testando una soluzione usando la funzione Warmup del nuovo IIS 7.5 e precaricando automaticamente tutte le pagine per forzare una compilation ... Ma ci proverò presto. Molto apprezzato! –

+1

È sconvolgente che non sia stato modificato in .net 4 – DevelopingChris

Problemi correlati