c# - server mappath asp net
¿Cómo puedo usar Server.MapPath() desde global.asax? (4)
Necesito usar Server.MapPath()
para combinar algunos archivos de ruta que Server.MapPath()
en el web.config
.
Sin embargo, dado que Server.MapPath()
basa en el HttpContext actual (creo), no puedo hacer esto. Cuando trato de utilizar el método, aunque está "disponible", obtengo la siguiente excepción:
El funcionamiento del servidor no está disponible en este contexto.
¿Hay algún otro método que pueda asignar un directorio relativo a la raíz web como ~/App_Data/
a la ruta física completa, como C:/inetpub/wwwroot/project/App_data/
?
Cuando esté en Global.asax, use el objeto de contexto :
context.Server.mappath ()
El contexto le permite acceder también a la colección de sesión, el objeto de solicitud, el objeto de respuesta. Muy útil cuando quiere registrar errores, por ejemplo
Podría intentar HttpContext.Current.Server.MapPath ("/") - Así es como lo he mencionado antes en las clases.
Puede intentar System.Web.Hosting.HostingEnvironment.MapPath() .
No se requiere HttpContext.
Use AppDomain.CurrentDomain.BaseDirectory
porque el Context
puede devolver nulo.