2009-11-16 3 views
13

Salut Je développe une application Web ASP.net. J'ai besoin de trouver l'emplacement actuel (physique) du site web (ou le répertoire bin contenant les assemblages).ASP .net emplacement physique actuel

J'ai essayé d'utiliser Directory.GetCurrentDirectory() et cela me renvoie le répertoire temporaire ASP .net.

Je n'aime vraiment pas l'idée d'inclure une demande de réglage pour le chemin absolu dans mon fichier de configuration (beurk!)

Toute aide serait très apprécié! :)

Conclusion:

j'aurais donné un peu de contexte à pourquoi je voudrais le chemin du fichier physique. Merci les gars pour vos réponses rapides à la question :)

J'utilise XSL-FO pour .net (la bibliothèque FO.net) pour générer un fichier PDF. L'incorporation des images dans FO nécessite un chemin absolu à donner:

<fo:external-graphic src="C:\MyWebsite\images\image1.jpg" /> 

Ce que je devais faire a été mis dans le répertoire en cours sur le site Web (ou bin), qui permettrait à l'XSL FO générateur de savoir où trouve l'image

Répondre

33

Vous devez System.Web.HttpRuntime.BinDirectory (chemin physique vers le dossier bin) et System.Web.HttpRuntime.AppDomainAppPath (chemin physique vers le dossier d'application ASP.NET haut niveau).

+0

Merci Gonzalo, ça marche très bien dans ma situation. :) – Russell

+0

Ouais, merci de montrer ces deux références :) – Chau

5

Cela dépend exactement de ce que vous voulez faire avec le chemin, mais l'approche habituelle est Server.MapPath(). Par exemple:

YourControl.src = Server.MapPath("~/images/image1.jpg"); 

Cela retournera le chemin physique pour le fichier spécifié.

+1

Salut Rick, merci MapPath est une méthode pratique à prendre en compte, mais elle ne correspond pas vraiment à ma situation. Je suis sur le point de mettre à jour ma question avec un peu plus de détails sur les raisons de donner un peu de contexte, désolé que j'aurais dû le faire en premier lieu. Merci de votre aide :) – Russell