Server.MapPath查询路径那几件事
2024-08-20 07:30:31
主要总结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测试压力代码 数据请求*****/
}
最新文章
- 开发者接入 基本配置 服务器配置 out.aspx
- http 301 和 302 的区别!
- [小哥Allegro72讲速成视频]
- go-- 用go-mssql驱动连接sqlserver数据库
- JS获取字符串实际长度(包含汉字)
- CoreData创建
- (原创)Python文件与文件系统系列(5)——stat模块
- HDU 4405 期望DP
- scjp考试准备 - 5 - 重载和重写
- 有关mysql数据库的编码
- easyUI linkbutton组件
- 4. ZooKeeper 基本操作
- eclipse导包导不进来
- SQL 农经权数据库问题提取_身份证号码相同(字段值出现多次);身份证号码相同但姓名不同(A字段相同,B字段不相同);发包方无承包方信息(A表有,B表无)等
- [物理学与PDEs]第5章习题2 Jacobian 的物质导数
- div不固定高度垂直居中
- 学习笔记TF066:TensorFlow移动端应用,iOS、Android系统实践
- The problems when using a new ubuntu 18.04
- IP基本原理
- 前缀和与差分之IncDec sequence