2011年11月26日 星期六

ASP.NET+C# 取得目前執行程式的路徑


抓取 WinForm 應用程式所在的目錄可使用下面方法,此方法會回傳應用程式設定輸出目錄完整路徑。
1System.Windows.Forms.Application.StartupPath

抓取 Console 應用程式所在的目錄可使用下面方法。
1System.AppDomain.CurrentDomain.BaseDirectory;

抓取 ASP.NET 網頁程式,所在的目錄可用下面方法。
1Server.MapPath(".");

若是要包成 Library 呢? 以上皆適用。
1System.AppDomain.CurrentDomain.BaseDirectory;

補充 :
01protected void Page_Load(object sender, EventArgs e) {
02        //傳回傳遞給方法之虛擬路徑的完整實體路徑
03        //傳遞給 MapPath 方法的路徑必須是應用程式的相對路徑,而不是絕對路徑。
04        Response.Write("Server.MapPath : " + Server.MapPath("~") + "<br />");
05
06        //抓取 ASP.NET 網頁程式,所在的目錄
07        Response.Write("Server.MapPath : " + Server.MapPath(".") + "<br />");
08
09        //取得 asp.net 應用程式在伺服器上虛擬應用程式根路徑
10        Response.Write("Request.ApplicationPath : " + Request.ApplicationPath + "<br />");
11
12        //取得目前要求的虛擬路徑
13        Response.Write("Request.CurrentExecutionFilePath : " + Request.CurrentExecutionFilePath + "<br />");
14
15        //取得目前要求的虛擬路徑,與 CurrentExecutionFilePath 屬性不同,FilePath 並不會反映伺服器端的傳輸。
16        Response.Write("Request.FilePath : " + Request.FilePath + "<br />");
17
18        //取得目前要求的虛擬路徑
19        Response.Write("Request.Path : " + Request.Path + "<br />");
20
21        //取得目前執行應用程式之根目錄的實體檔案系統路徑
22        Response.Write("Request.PhysicalApplicationPath : " + Request.PhysicalApplicationPath + "<br />");
23
24        //取得與要求的 URL 對應之實體檔案系統路徑
25        Response.Write("Request.PhysicalPath : " + Request.PhysicalPath + "<br />");
26    }
輸出結果

沒有留言:

張貼留言