主要总结Server.MapPath 这个方法的使用以及使用的场景,不是什么时候都适合使用;

1、实现功能:

  Server.MapPath能够获取指定URL相对服务器的物理路径,在IIS服务端,能够根据文件名来获取该文件的物理路径;

2、存在命令空间:

  System.Web.HttpContext.Current.Server.MapPath 以及System.web.MVC.Control.Server.Mapth;

3、使用情况:

  既然是System.Web.HttpContent 也及时表明该方法只能放在Http.web中使用,非该环境系统会扔出一个错误;非web环境是什么意思那,举个例子,我们使用线程来处理某个业务逻辑的时候,这个时候你使用该方法,那必然报错,以为你已经脱离了web环境。所以视情况而定;获取虚拟目录的物理地址,该方法很有效果;

  随便补充一句,多线程编程的时候,一定要分清楚那些事线程能够获取的资源,那些事依赖其他环境获取的变量,比如IIS中多线程获取缓存数据,离开了HttpWeb这环境来获取IIS的缓存,必然是失败的,所以要分清楚多线程编程时候,使用的资源对象。线程安全对象集合:ConcurrentQueue、ConcurrentBag等

4、需要注意事项:

    system.Web.HttpContext.Current.Server.MapPath("myPic") 也就是获取当前平级目录地址;

    system.Web.HttpContext.Current.Server.MapPath("../myPic") 也就是获取当前上级目录地址;

       使用的时候需要慎重;

5、同类使用注意:

HttpContext.Current.Cache.Add(CacheKey, DataDirectory, null, DateTime.MaxValue, TimeSpan.FromMinutes(), CacheItemPriority.NotRemovable, new CacheItemRemovedCallback(CacheItemRemovedCallback));

public static void CacheItemRemovedCallback(string key, object value, CacheItemRemovedReason reason)
{
/****S测试压力代码 数据请求*****/
Dictionary<string, int> DataDic = (Dictionary<string, int>)value;
string ResultText = "";
foreach (var currkey in DataDic)
{
ResultText += currkey.Key + "=" + currkey.Value+"$";
}
LogFun.Instance().WriteLog(key, ResultText.Trim('$'),false);
/****E测试压力代码 数据请求*****/
}

Server.MapPath查询路径那几件事的更多相关文章

  1. Server.MapPath()获取本机绝对路径

    1.    Server.MapPath("/")  应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\ 2.Server.MapPath("./&qu ...

  2. Server.MapPath()获取绝对路径

    1.    Server.MapPath("/")  应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\ 2.Server.MapPath("./&qu ...

  3. webapi中取文件的物理路径(server.mappath)

    在Webapi中是用不了server.mappath方法的,上网搜索了一下,发现是用如下代码取得文件绝对路径: string logpath = System.Web.Hosting.HostingE ...

  4. 相对路径 System.Web HttpServerUtilityBase Server.MapPath("~/")

    相对路径 System.Web  HttpServerUtilityBase  Server.MapPath("~/")

  5. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  6. 【转】类中如何引用server.MapPath()

    转至:http://blog.csdn.net/tangjianft/article/details/5357151 今天在写一个上传图片方法时遇到了两个问题:1.public string getI ...

  7. 关于 Java 性能监控您不知道的 5 件事,第 1 部分

    责怪糟糕的代码(或不良代码对象)并不能帮助您发现瓶颈,提高 Java? 应用程序速度,猜测也不能帮您解决.Ted Neward 引导您关注 Java 性能监控工具,从5 个技巧开始,使用Java 5 ...

  8. Server.MapPath()

    ./当前目录/网站主目录../上层目录~/网站虚拟目录 如果当前的网站目录为E:\wwwroot   应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\co ...

  9. Server.MapPath和Request.PhysicalApplicationPath的异同

    很多人对它们都不陌生,在众多的WEB程序中,使用Server.MapPath和Request.PhysicalApplicationPath来操作目录/文件的几率参半,我曾经也经常混用,然而时间久了. ...

随机推荐

  1. OpenCV成长之路(9):特征点检测与图像匹配

    特征点又称兴趣点.关键点,它是在图像中突出且具有代表意义的一些点,通过这些点我们可以用来识别图像.进行图像配准.进行3D重建等.本文主要介绍OpenCV中几种定位与表示关键点的函数. 一.Harris ...

  2. 【POI】修改Excel内容

    package com.what21.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNot ...

  3. Git – Fast Forward 和 no fast foward

    Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了.但也印证了Git深入并非易事.这篇就谈下一个容易迷糊的概念:Fast forward. Fast-For ...

  4. 《转》---google面经

    我面的职位是Softwre Engineer, Tools and Infrastracture, 所以开发和测试的问题都会问到 Phone interview 1:白人小哥.给一个Interval的 ...

  5. 解决Django发送中文邮件时的编码及乱码问题

    参考自---http://blog.csdn.net/clh604/article/details/9274793 #-*- coding=utf8 -*- from email.message im ...

  6. linux学习之一些琐碎知识点

    一.python 问:django中project和app之间到底有什么不同? 答:他们的区别就是一个是配置,另一个是代码. 一个project包含很多个django app以及对它们的配置.技术上, ...

  7. hdu 1002.A + B Problem II 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目意思:就是大整数加法. 两年几前做的,纯粹是整理下来的. #include <stdi ...

  8. BestCoder22 1003.NPY and shot 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5144 题目意思:有个人抛物体,已知抛的速度和高度,问可以抛到的最远距离是多少.即水平距离. 做的时候是 ...

  9. 【leetcode】Bitwise AND of Numbers Range(middle)

    Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers ...

  10. Jquery 点击按钮将其背景图换成另一张,再次点击恢复默认图片

    这是Jquery代码: $(function () { $("#h1").toggle(function () { $("#h1").css("bac ...