net asp c# asp.net global-asax server.mappath application-start

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.



Use AppDomain.CurrentDomain.BaseDirectory porque el Context puede devolver nulo.