Question

Je dois utiliser Server.MapPath() pour combiner certains chemin des fichiers que je stocke dans le web.config.

Cependant, étant donné que Server.MapPath() repose sur la HttpContext actuelle (je pense), je suis incapable de le faire. Lorsque vous essayez d'utiliser la méthode, même si son « disponible », je reçois l'exception suivante:

  

Fonctionnement du serveur ne sont pas disponibles 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\?

Était-ce utile?

La solution

Vous pouvez essayer System.Web.Hosting .HostingEnvironment.MapPath () .

Non HttpContext nécessaire.

Autres conseils

Utilisez AppDomain.CurrentDomain.BaseDirectory parce que Context peut retourner null !!

En cas Global.asax, utilisez le contexte objet :

context.Server.mappath ()

Contexte vous permet d'accéder également la collection de session, l'objet de la demande, l'objet de réponse. Très utile lorsque vous voulez enregistrer les erreurs, par exemple

Vous pouvez essayer HttpContext.Current.Server.MapPath ( "/") -. Voilà comment je l'ai mentionné auparavant dans les classes

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top