the-differences-between-server-mappath-server-mappath
在看文章前,你是否能够说以下四个Server.MapPath方法取出来的路径分别是什么吗?
- Server.MapPath(".")
- Server.MapPath("~")
- Server.MapPath(@"\")
- Server.MapPath("/")
在弄清楚这四个路径之前,我们先前熟悉一下:什么是Server.MapPath? Server.MapPath是ASP.NET[C#]开发框架中用于将指定相对或者虚拟路径转换为对应物理目录的一个内部方法,Server.MapPath方法根据参数不同,会返回不同的物理路径,如上面四个参数:
- Server.MapPath("."):返回当前访问文件的物理路径;
- Server.MapPath(".."):返回父目录;
- Server.MapPath("~"):返回当前应用程序的物理路径的根目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置;
- Server.MapPath("/"):返回当前域名的物理路径的根目录
比如:假设您指定了一个网站应用程序:http://www.example.com/,物理磁盘的位置在:
C:\Inetpub\wwwroot
并且安装了一个商店应用程序(子网站作为IIS中的虚拟目录,并标记为应用程序)
D:\WebApps\shop
现在,比如有如下的访问请求:
http://www.example.com/shop/products/GetProduct.aspx?id=2342
我们使用Server.MapPath()方法:
- Server.MapPath(".") 返回 D:\WebApps\shop\products
- Server.MapPath("..") 返回 D:\WebApps\shop
- Server.MapPath("~") 返回 D:\WebApps\shop
- Server.MapPath("/") 返回 C:\Inetpub\wwwroot
- Server.MapPath("/shop") 返回 D:\WebApps\shop
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册