Server.MapPath相关
大家好,又见面了,我是你们的朋友全栈君。
如果你从Page类继承的类中执行这条语句,才可以简单地使用 DataBase = Server.MapPath(“data.mdb”); 否则写全命名空间:System.Web.HttpContext.Current.Server.MapPath();
总注:Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径 1、Server.MapPath(“/”) 注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\。 2、Server.MapPath(“./”) 注:获得所在页面的当前目录,等价于Server.MapPath(“”)。 3、Server.MapPath(“../”) 注:获得所在页面的上级目录。 4、Server.MapPath(“~/”) 注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置,如C:\Inetpub\wwwroot\Example\。
在多线程里面使用HttpContext.Current,HttpContext.Current是得到null的. 所以在线程调用方法,方法中类里面的System.Web.HttpContext.Current.Server.MapPath() 获取不到对象。
应该这样用:
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); } }
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158049.html原文链接:https://javaforall.cn
相关文章
- ORA-26795: Cannot modify an LCR received from an XStream outbound server ORACLE 报错 故障修复 远程处理
- SQL Server创建数据库和数据表的相关约束实现方法
- SQL Server:实现高度数据分析(sqlserver高低位)
- 解决SQL Server配置困难,优化系统性能(sqlserver 设置)
- 利用SQL Server搭建高效稳定的数据表架构(sqlserver表架构)
- 利用SQL Server寻求空页的美好未来(sqlserver空页)
- SQL Server: 尽情挖掘数据库的世界(sqlserver 百科)
- SQL Server相关的数据存储安全安全存储SQL Server中的数据重要保障企业运行(sqlserver或 与)
- “SQL Server开启端口,实现远程连接”(sqlserver开端口)
- 励使用SQL Server实现层级奖励体系的最佳实践(sqlserver层级奖)
- SQL Server恢复之路:重新崛起(sqlserver复旧中)
- 提升SQL Server性能:加大内存容量(sqlserver加内存)
- SQL Server中的递归查询:打开新的查询窗口(递归sqlserver)
- 甲,打败SQL Server乙超级武装Oracle甲战胜SQL server乙(exp 武装oracle)