2011-10-20 70 views
1

這是我的問題,我已經搜索這個計算器但找不到正確的解決方案。C#應用程序路徑如何讓它爲網站工作

我有一個網站,存儲在

C(當地在我的機器上):\網站\ WEBSITE1

在同一文件夾我有

C:\網站\ WEBSITE1 \ xmldoc.xml

我希望程序能夠找到並訪問C:\ websites \ Website1 \ xmldoc.xml。我已經硬編碼C:\網站\ Website1 \ xmldoc.xml位置到我的網站,但我試圖找出是否有更好的方法。我試過 Application.StartupPath但它不起作用。

+0

快速搜索建議HttpRequest.ApplicationPath。那是你在找什麼?我相信這是我過去用於相同目的的。 – lampej

回答

3

您可以使用AppDomain.CurrentDomain.BaseDirectory,例如,

Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "xmldoc.xml") 

這種技術是可以從Web和Windows應用程序被稱爲類庫有用:

  • 它解析爲Web應用程序目錄中的Web應用程序

  • 在WinForms或Console應用程序中,它解析爲包含可執行文件的目錄。

2

您可以使用Server.MapPath來獲取文件的本地路徑。

string fullPath = Server.MapPath("~/xmldoc.xml"); 

查看this相關SO問題和答案。

+0

「〜/ xmldoc.xml」會更好 – Joe

+0

@Joe - 公平點。答覆修正。 – Oded

+0

我試過Server.MapPath,它是否需要某種類型的庫,因爲它表示服務器在當前上下文中不存在。 – user990951

0

您可以使用

Request.ApplicationPath 

Server.MapPath 
相關問題