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"));
。。。
}
}