Server.MapPath相关

Server.MapPath相关如果你从Page类继承的类中执行这条语句,才可以简单地使用 DataBase=Server.MapPath(“data.mdb”);否则写全命名空间:System.Web.HttpContext.Current.Server.MapPath();总注:Serv

大家好,又见面了,我是你们的朋友全栈君。

如果你从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.net/158049.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Json的常用方法[通俗易懂]

    Json的常用方法[通俗易懂]Json的常用方法

    2022年4月22日
    46
  • hive的数据存储(元数据,表数据)和内部表,外部表,分区表的创建和区别作用

    hive的数据存储(元数据,表数据)和内部表,外部表,分区表的创建和区别作用hive的数据存储(元数据,表数据)和内部表,外部表,分区表的创建和区别作用

    2022年4月23日
    81
  • 解决8080端口被占用问题「建议收藏」

    解决8080端口被占用问题「建议收藏」问题叙述在IDEA中运行项目时会出现8080端口被占用的情况,可能是运行tomcat的时候,也可能是在用vue进行前后端分离项目,运行后端代码时出现端口被占用。这里以运行tomcat显示占用举例,如下图所示;解决方法1、按快捷键windows+R,在运行框里输入cmd,如图所示,2、在dos命令中输入netstat-aon|findstr“8080”,查看端口。3、找到8080端口,查看正在运行程序的pid,如图所示。4、回到桌面,任务栏,右键,任务管理器,如图所示会显示正在运行的

    2025年6月24日
    2
  • 用javascript教你打造一个免费的PC微信机器人《五》微信群发

    用javascript教你打造一个免费的PC微信机器人《五》微信群发上图先,来个效果图同一时间,向很多个群,发送你要发送的消息。现实中有很多解决方案,一个员工对应一个群,先把发送内容粘贴进文本框,读秒,同时按发送键。按键精灵,脚本?(没试过,有可能可以)还有其他方案没?一言不合,上代码先拿到你要发送的群或者好友列表(websocket,http去github去看httpclient.js):functionget_wxuser_list(){constj={id:getid(),type:USER_LIST,cont

    2022年5月4日
    71
  • 电脑警报声

    电脑警报声电脑异常报警声音:1短内存刷新失败2短内存ECC较验错误3短系统基本内存(第一个64KB)检查失败4短系统时钟出错5短中央处理器(CPU)错误6短键盘控制器错误7短系统实模式错误,不能切

    2022年8月4日
    6
  • OHEM算法

    OHEM算法版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/u014380165/article/details/73148073…

    2022年5月7日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号