Un método bastante utilizado cuando desarrollamos aplicaciones web en ASP.NET es el método MapPath. Este método puede ser llamado de la siguiente manera
string path = HttpContext.Current.Server.MapPath("~");
Llamado así este método nos devuelve la ruta física de la raiz de la aplicación web. Es útil para localizar directorios y así, por ejemplo, poder abrir ficheros de configuración propia. Pero ¿qué ocurre si llamamos a este método en un delegado?. La llamada fallará porque el object HttpContext no está creado. La solución es llamar al método de la siguiente forma
string path = HostingEnvironment.MapPath()
La clase HostingEnvironment la tenemos en el espacio de nombre System.Web.Hosting, en el ensamblado System.Web.dll. Tenemos mas información de está clase en la MSDN al igual que del método MapPath.
