Server.MapPath specifica il percorso relativo o virtuale per eseguire il mapping a una directory fisica.
- Server.MapPath("~") : restituisce il percorso fisico della directory principale dell'applicazione
- Server.MapPath("/") : restituisce il percorso fisico della radice del dominio
- Server.MapPath(".") : restituisce il percorso fisico dove si trova il file in corso di esecuzione (ad esempio una pagina .aspx)
- Server.MapPath("..") : restituisce il percorso fisico della directory padre
Vediamo, quindi, un esempio su come utilizzarlo. Immaginiamo di avere installato IIS in
C:\Inetpub\wwwroot su un server visto dall'esterno come http://www.websitesfdo.com
e di avere una directory virtuale marcata come applicazione in
D:\WebApps\fdonetweb
Se visualizziamo la pagina
http://www.websitesfdo.com/fdonetweb/programmazione/aspnet/server-mappath.aspx
il Server.MapPath ci restituirà questo:
- Server.MapPath("~") : D:\WebApps\fdonetweb
- Server.MapPath("/") : C:\Inetpub\wwwroot
- Server.MapPath(".") : D:\WebApps\fdonetweb\programmazione\aspnet
- Server.MapPath("..") : D:\WebApps\fdonetweb\programmazione
- Server.MapPath("~/programmazione/") : D:\WebApps\fdonetweb\programmazione\