Un elogio ai VirtualPathProvider

di Stefano Mostarda, in .Net 2.0,

Premessa.
Ricordo ancora che la prima volta che vidi un VirtualPathProvider in azione, rimasi folgorato sulla via di Damasco e mi posi subito una domanda: "E che .... ci faccio con sta cosa???" La verve con cui il relatore tedesco mi parlava di questa feature era quella di un uomo che dopo anni aveva finalmente risolto i suoi problemi, ma io ancora rimanevo perplesso.

Situazione.
Verso marzo ho cominciato a lavorare ad un framework che dovrebbe gestire alcune problematiche comuni delle applicazioni web sviluppate nell'azienda in cui lavoro. Un'esigenza è quella di creare un sistema di news con un custom control per visualizzarle ed una pagina per inserirle. Qui scattava il mio dubbio, creare una pagina e copiarla su ogni sito cambiando solo lo stile è una scelta che proprio non mi piaceva, ma non trovavo un modo alternativo soddisfacente.

Soluzione.
Dopo qualche giorno mi sono ricordato della faccia entusiasta del tedesco ed ho finalmente capito perchè. Con il VirtualPathProvider posso inserire la pagina (poi diventata uno usercontrol, in un punto qualsiasi ed utilizzarla in ogni applicazione. Quindi, ho inglobato lo UserControls per inserire le news in un assembly, come risorsa, ed ho creato un VirtualPathProvider che recepisce le richieste per quell controllo. Se ci mettiamo anche un HttpModule che carica il provider quando parte l'applicazione, si riesce a creare un vero e proprio modulo pluggabile.

Conclusione.
Insomma i VirtualPathProviders sono qualcosa che risolve alcuni problemi comuni di pacchettizzazione e non solo. D'ora in poi li userò molto spesso anche se devo capire bene alcuni comportamenti in fase di compilazione, ma credetemi, quando ho parlato ai miei colleghi per la prima volta del VirtualPathProvider avevo la stessa gioia di quel tedescone che mi parlava tempo fa. (ed ovviamente i colleghi mi guardavano un pò allibiti) :D.

Stay Tuned...

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese