1.  Server.MapPath()介紹

Server.MapPath(string path)作用是返回與Web服務器上的指定虛擬路徑相對應的物理文件路徑。其參數path為Web 服務器的虛擬路徑,返回結果是與path相對應的物理文件路徑。但有時參數並非為虛擬路徑,

而是用户自定義的文件名。

Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath()。有時在程序調試時會提示“當前上下文中不存在名稱“Server””錯誤,從而不支持函數Server.MapPath()的使用。儘管

引用了命名空間“using System.Web;”也是無濟於事,此時就需要使用其全名,或者是當前使用Server.MapPath()函數的類繼承自System.Web.UI.Page。

2.  Server.MapPath()應用

Server.MapPath("") :返回當前頁面所在的物理文件路徑

Server.MapPath("/") :返回應用程序根目錄所在的物理文件路徑

Server.MapPath("./") :返回當前頁面所在的物理文件路徑Server.MapPath("../"):返回當前頁面所在的上一級的物理文件路徑Server.MapPath("~/"):返回應用程序的虛擬目錄(路徑)

Server.MapPath("~"):返回應用程序的虛擬目錄(路徑)

3.      説明:對於Server.MapPath()具體返回什麼內容,在不同的環境下得到的結果也許並不相同。正如上面的六個Server.MapPath()應用,我在VS2010中測試時,其中第二項、第四項會提示錯誤“未能映射路

徑”,但是改變程序所在的位置時,僅第二項會提示錯誤。故不同的軟件、不同的環境對其支持度也不同。

 

如果新建類庫項目,在類裏面輸入Server.Mappath();錯誤,只要當前類繼承一下System.Web.UI.Page類就行了。

public class TagProgram : System.Web.UI.Page
{       //獲取Alien的IP地址和端口
        private string[] getAlienInfo()
        {
            string [] strResult = null;
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("AlienConfig.xml"));     。。。
        }
}