.net 获取网站根目录总结
一、获取网站根目录的方法有几种如:
Server.MapPath(Request.ServerVariables["PATH_INFO"]) //页面详细路
Server.MapPath("/") //根目录
Server.MapPath("") //当前代码文件所在的目录路径
Server.MapPath(".")
Server.MapPath("../") //当前代码所在路径的上级路径
Server.MapPath("..")
Page.Request.ApplicationPath
以上的代码在"http://localhost/EnglishClub/manage/WebForm1.aspx" 页面运行结果:
C:\Inetpub\wwwroot\EnglishClub\manage\WebForm1.aspx
C:\Inetpub\wwwroot\
C:\Inetpub\wwwroot\EnglishClub\manage
C:\Inetpub\wwwroot\EnglishClub\manage
C:\Inetpub\wwwroot\EnglishClub\
C:\Inetpub\wwwroot\EnglishClub
/
以上的方法可以在.aspx中访问,但是如果你在 .cs文件就不能用。
下面两个都可以在.cs文件中用:
HttpContext.Current.Server.MapPath();//所在文件夹路径
System.Web.HttpContext.Current.Request.PhysicalApplicationPat;//根路径
HttpContext.Current.Server.MapPath();这个获取的是文件的路径而不是根目录。
System.Web.HttpContext.Current.Request.PhysicalApplicationPath 这个才是获取的根目录,在写获取数据库路径是应该用这个,其他的都有问题。
System.Web.HttpContext.Current.Request.PhysicalApplicationPath和Server.MapPath("~/")效果是一样的。
Server.MapPath("~/");//无论代码所在的文件的、页面路径是什么,永远返回 C:\Inetpub\wwwroot\EnglishClub\(就是当前程序运行的所在根目录)
如果存储附件的路径到数据库的话,不应该把绝对路径存进去。应该只存储 文件名部分。
例如:/uploads/abc.txt
当需要浏览文件的时候,在在读取出来的路径:(即/uploads/abc.txt),前面+网站的路径:例如:http://abc.com+"/uploads/abc.txt"
二.线程中获取系统路径
以上都是在web程序引用下获取路径,
在多线程里面使用HttpContext.Current,HttpContext.Current是得到null的.
所以以上方法在线程中直接使用是不行的。
在线程中得到系统根路径可以用此方法:
public static string MapPath(string strPath)
{
if (HttpContext.Current != null)
{
return HttpContext.Current.Server.MapPath(strPath);
}
else //非web程序引用
{
strPath = strPath.Replace("/", "\\");
if (strPath.StartsWith("\\"))
{
//strPath = strPath.Substring(strPath.IndexOf('\\', 1)).TrimStart('\\');
strPath = strPath.TrimStart('\\');
}
return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
}
}
.net 获取网站根目录总结的更多相关文章
- php获取网站根目录
php获取网站根目录方法一:<?phpdefine("WWWROOT",str_ireplace(str_replace("/","\\&quo ...
- 【转载】ASP.NET中Server.MapPath方法获取网站根目录总结
在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server ...
- PHP中如何获取网站根目录物理路径
在php程序开发中经常需要获取当前网站的目录,我们可以通过常量定义获取站点根目录物理路径,方便在程序中使用. 下面介绍几种常用的获取网站根目录的方法. php获取网站根目录方法一: <?php ...
- asp.net 获取网站根目录总结 Global.asax文件里获取获取网站根目录
1: 获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"])Server.MapPath(&qu ...
- js获取网站根目录
//js获取网站根路径(站点及虚拟目录),获得网站的根目录或虚拟目录的根地址 function getRootPath(){ var strFullPath=window ...
- ASP.NET获取网站根目录(路径)
摘自: http://blog.sina.com.cn/s/blog_7d0dcba60100vb7r.html 网站在服务器磁盘上的物理路径: HttpRuntime.AppDomainAppPat ...
- asp.net 获取网站根目录总结
.CSHttpContext.Current.Server.MapPath();//所在文件夹路径System.Web.HttpContext.Current.Request.PhysicalAppl ...
- php 获取网站根目录
方法1(需自行调整根目录): define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/" ...
- php 获取网站根目录的写法
路径方式,代码如下: define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/"); ...
随机推荐
- Excel Xll开发资料
下载地址:http://bbs.jjxj.org/forum.php?mod=viewthread&tid=37943&extra=page%3D1&page=1& 财 ...
- cookie 编码问题
问题描述: Control character in cookie value or attribute. 解决方案: 1.前台编码 encodeURIComponent(str) 2.后台解码 原 ...
- Windows 环境下于虚拟环境安装源码安装 cx_oracle
安装前提条件: (1).安装 instantclient-basic-nt (2).安装 instantclient-sdk-nt (3).安装 Microsoft Visual C++ Compil ...
- IT职场生存法则
转!!!!!!!!!!!!! 摘要我在IT职场打滚超过15年了,从小小的程序员做到常务副总.相对于其它行业,IT职场应该算比较光明的了,但也陷阱重重,本文说说我的亲身体会,希望大家能在IT职场上战无不 ...
- Failed to load session “ubuntu” -- 12.04
在使用ubuntu 12.04的时候,之前不喜欢Unity桌面,就按照网上提示的安装了Gnome桌面,并且成功了! 可是,最近又想把Unity装回来,心想,这不就是安装一软件的活嘛,很简单!于是就卸载 ...
- UVa442 Matrix Chain Multiplication
// UVa442 Matrix Chain Multiplication // 题意:输入n个矩阵的维度和一些矩阵链乘表达式,输出乘法的次数.假定A和m*n的,B是n*p的,那么AB是m*p的,乘法 ...
- PostgreSQL的 initdb 源代码分析之二十一
继续分析: setup_schema(); 展开: 实质就是创建info_schema. cmd 是: "/home/pgsql/project/bin/postgres" --s ...
- CSS模块化
1. Base2. Layout3. Module4. State5. Theme 1) Base rules Base rules are the defaults. eg: ;; } input[ ...
- Windows 7旗舰版搭建andriod 4.0开发环境记录
搭建Android环境步骤(仅供参考): 官方搭建步骤: http://developer.android.com/index.html 搭建环境之前需要下载下面几个文件包: 一.安装Java运行环境 ...
- Java I/O输入输出流详解
一.文件的编码 开发时一定要注意项目默认的编码!!!!!!!! 文件操作的时候一定要记得关闭!!!!!!!! ASCII:美国标准 ...