2009-11-16 68 views
13

嗨,我正在開發一個ASP.net Web應用程序。 我需要找到網站(或包含程序集的bin目錄)的當前位置(物理)。ASP .net當前物理位置

我已經嘗試使用Directory.GetCurrentDirectory(),並返回我ASP.net臨時目錄。

我真的不喜歡的想法包括應用在我的配置文件中設置了絕對路徑(EWW!)

任何幫助,將不勝感激! :)

結論:

我應該給一些背景,爲什麼我想的物理文件路徑。 謝謝你們對問題的及時迴應:)

我使用XSL-FO for .net(FO.net庫)來生成PDF。在FO中嵌入圖像需要一個絕對路徑給出:

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

我需要做什麼設置當前目錄到網站(或bin目錄下),這將允許XSL FO渲染器知道在哪裏找到圖像。

回答

33

你需要System.Web.HttpRuntime.BinDirectory(物理路徑文件夾)和System.Web.HttpRuntime.AppDomainAppPath(到頂層ASP.NET應用程序文件夾的物理路徑)。

+0

謝謝貢薩洛,那在我的情況下效果很好。 :) – Russell 2009-11-16 22:25:01

+0

是的,感謝您展示這兩個參考:) – Chau 2010-08-26 13:44:47

5

這取決於您想要對路徑做什麼,但通常的方法是Server.MapPath()。例如:

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

這將返回指定文件的物理路徑。

+1

嗨瑞克,謝謝MapPath是一個方便的方法要知道,但它並不真正適合我的情況。我即將更新我的問題,提供一些更詳細的信息,說明爲什麼要提供一些背景信息,對不起,我應該首先完成這項工作。謝謝你的幫助 :) – Russell 2009-11-16 22:26:08