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\