server mappath c# ejemplos
httpcontext.current.server.mappath Referencia de objeto no establecida en una instancia de un objeto (3)
Estoy usando el siguiente código dentro de una clase:
string filePath = HttpContext.Current.Server.MapPath("~/email/teste.html");
El archivo teste.html está en la carpeta
Pero cuando se abra el archivo se genera el siguiente error:
Referencia a objeto no establecida como instancia de un objeto.
No utilice Server.MapPath. Es lento. Use esto en su lugar, HttpRuntime.AppDomainAppPath . Mientras su sitio web esté funcionando, esta propiedad siempre estará disponible para usted.
Entonces úsalo así:
string filePath = Path.Combine(HttpRuntime.AppDomainAppPath, "email/teste.html");
Si el código no se está ejecutando desde un subproceso, se está ejecutando una httprequest entonces HttpContext.Current es null (por ejemplo, cuando se llama a un método a través de BeginInvoke ) - vea http://forums.asp.net/t/1131004.aspx/1 .
Siempre puede usar HttpRuntime http://msdn.microsoft.com/en-us/library/system.web.httpruntime.aspx
Si no hay HttpContext (por ejemplo, cuando se llama al método a través de BeginInvoke , como señaló Yahia), la llamada a HttpContext.Current.Server.MapPath() debe fallar. Para esos escenarios, hay HostingEnvironment.MapPath() en el espacio de nombres System.Web.Hosting .
string filePath = HostingEnvironment.MapPath("~/email/teste.html");