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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • (转)DeviceIOControl详解[通俗易懂]

    (转)DeviceIOControl详解[通俗易懂]http://blog.csdn.net/gis_wudi/article/details/6639739DeviceIoControl这个api我们用的不多,但是很重要,有时会帮助我们实现一些特别

    2022年7月3日
  • qtabwidget 样式_标注样式怎么设置合理

    qtabwidget 样式_标注样式怎么设置合理个人使用qt,感觉QTabwidget是个非常好用的控件,但有时候总是感觉其tab样式不好控制或说不够灵活,从而导致放弃使用该控件。比如说,标签横向显示的时候,文字随之也横着显示了,这样还需要指定自定义样式,继承QProxyStyle类并重写drawControl虚函数。然而这样过于麻烦,关于软件主菜单不同的界面切换,个人还是比较喜欢按键组合+STackedWidget控件。对于一遍的小界面来说,QTabWidget其实完全满足你的使用要求,所以本文主要简述QTabwidget样式的常用使用方法,配合标

    2022年9月2日
  • css a标签去除下划线「建议收藏」

    css a标签去除下划线「建议收藏」cssa标签去除下划线a{text-decoration:none;}转载于:https://www.cnblogs.com/luckybaby519/p/10447146.html

    2022年5月30日
  • tomcat安装配置详解_tomcat下载安装及配置教程

    tomcat安装配置详解_tomcat下载安装及配置教程tomcat保姆级安装教程Tomcat安装教程(以tomcat-9.0.62为例:)1.下载安装包可以从官网下载安装包:(1)从官网下载输入网址进入官网sshttp://tomcat.apache.org/

    2022年9月19日
  • 基于pytorch_pytorch handbook

    基于pytorch_pytorch handbook代码来源少量中文注解纯学习https://github.com/joosthub/PyTorchNLPBook/blob/master/chapters/chapter_5/5_2_CBOW/5_2_Continuous_Bag_of_Words_CBOW.ipynbimportjsonimportosfromargparseimportNamespacefromtq…

    2022年9月3日
  • Anaconda如何安装basemap_安装anaconda安装方法

    Anaconda如何安装basemap_安装anaconda安装方法Anaconda下PyTorch的安装分为在线安装和在线安装。在线安装:这里默认Anaconda已经是安装好了,打开Anaconda的Prompt。不过在安装之前需要说明的是,在线安装对网络的要求比较严格,一定要使用有线网,提高安装过程的稳定性,不要使用无线网,可能会出各种各样的问题。1.设置虚拟环境。之所以要设置虚拟环境,是因为这个python里面的包有很多个,有些个包可以会存…

    2022年10月6日

发表回复

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

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