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.BaseDirectory
porqueContext
podrí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
Context
en Global.asax.Podrías probar HttpContext.Current.Server.MapPath ("/") - Así es como lo he referenciado antes en las clases.
fuente