J'ai besoin d'utiliser Server.MapPath()
pour combiner certains chemins de fichiers que je stocke dans le web.config
.
Cependant, puisque Server.MapPath()
s'appuie sur le HttpContext actuel (je pense), je ne peux pas le faire. Lorsque j'essaie d'utiliser la méthode, même si elle est "disponible", j'obtiens l'exception suivante:
Le fonctionnement du serveur n'est pas disponible dans ce contexte.
Existe-t-il une autre méthode qui peut mapper un répertoire relatif de racine Web tel que ~/App_Data/
Sur le chemin physique complet tel que C:\inetpub\wwwroot\project\App_data\
?
Vous pouvez essayer System.Web.Hosting.HostingEnvironment.MapPath () .
Aucun HttpContext requis.
Utilisation AppDomain.CurrentDomain.BaseDirectory
car Context
peut retourner null !!
Dans Global.asax, utilisez le contexte :
context.Server.mappath ()
Le contexte vous permet également d'accéder à la collection de sessions, à l'objet de demande et à l'objet de réponse. Très utile lorsque vous souhaitez enregistrer des erreurs, par exemple