Je dois utiliser Server.MapPath()
pour combiner certains fichiers chemin que je stocke dans le web.config
.Comment puis-je utiliser Server.MapPath() de global.asax?
Cependant, puisque Server.MapPath()
repose sur l'actuel HttpContext (je pense), je suis incapable de 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.
Y at-il une autre méthode qui peut mapper un répertoire racine web relatif tel que ~/App_Data/
sur le chemin physique complet tel que C:\inetpub\wwwroot\project\App_data\
?
Des mises en garde à cette technique? –
Non. Si vous lancez Reflector, vous remarquerez que Server.MapPath et Request.MapPath appellent finalement VirtualPath.MapPath qui appelle finalement HostingEnvironment.MapPath. Ils finissent tous au même endroit. HostingEnvironment.MapPath coupe l'homme du milieu. –
+1 cela a corrigé un projet open source qui fonctionnait pour moi puis a juste arrêté d'initialiser en raison de HttpContext.Current.Server explosant pour qu'il n'ait pas de contexte pour une raison quelconque. Passer à cela le remettre à la voile en douceur. –