giovedì 14 maggio 2009

Server.MapPath()... Dove come quando...

Si potrebbe suppore che in un applicazione Web torni decisamente utile sapere sia dove ci si trova, fisicamente sia logicamente.
E' pur vero che si possa utilizzare una variabile di sessione o un parametro di configurazione a cui accedere liberamente, ma non sempre è così.

In asp.Net possiamo trovare due comodi operatori Server.MapPath() e "~", che sono indispensabili o quasi in tutte le applicazioni web.

Supponiamo di avere un applicazione con larga scala di distribuzione, questa deve essere :
Semplice
Facilmente Configurabile
Decisamente MOLTO fruibile.

Questi pochi termini implicano che il "mazzo" che si deve fare lo sviluppatore è davvero enorme.
Con semplice Si intende che qualsiasi tipo di utente deve potere essere nella condizione di installare e agire sul prodotto.
Non con i classici Wizard di Start up che una volta usati scompaiono... e chi si è visto si è visto...
Questo implica che Facilmente Configurabile è la possibilità di intervenire sul prodotto Tempestivamente per modficarne la configurazione e non "disinstalla tutto fai 300 backup... e spera".
Con decisamente molto fruibile intendo che l'applicazione ovunque essa sia possa essere modificata in toto o quasi.

A tal proposito è di fondamentale importanza partire con una struttura di configurazione ben strutturata.
E' possibile usare una classe che mantenga viva la configurazione del sito sempre... o fino a quando non scade la sessione.

Dal mio canto mi trovo comodo a rimmapare qualcosa come
string SiteVirtualRootPath = "~";
string SiteRealRootPath = Server.MapPath("~");

in questo modo posso richiedere al mio Configuration Provider come e quando voglio il dove e come sono.

Nessun commento: