Necesito usar Server.MapPath() para combinar algunas rutas de archivos que almaceno en web.config.
Sin embargo, desde Server.MapPath() basa en el HttpContext actual (creo), no puedo hacer esto. Cuando intento utilizar el método, aunque está "disponible", obtengo la siguiente excepción:
La operación 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/la ruta física completa, como C:\inetpub\wwwroot\project\App_data\?
c#
asp.net
global-asax
server.mappath
application-start
John Bubriski
fuente
fuente

Uso
AppDomain.CurrentDomain.BaseDirectoryporqueContextpodría volver nulo !!fuente
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 sesiones, el objeto de solicitud, el objeto de respuesta. Muy útil cuando quieres registrar errores, por ejemplo
fuente
Contexten Global.asax.Podrías probar HttpContext.Current.Server.MapPath ("/") - Así es como lo he referenciado antes en las clases.
fuente