多线程下HttpContext.Current 的问题
2014-08-25 17:21
302 查看
在项目中需要记录文本日志,为了加快响应速度所以用到了多线程。
但是以前的方法是不支持多线程的,程序运行错误。
追踪代码发现提示HttpContext为空。
1.HttpContext.Current表示当前HttpRequest 对应的Context对象
httpContext.current在不同的httpRequest 中是变化的
也就是说用httpConext.current.items来保存的数据是不能跨页面传递的。
2.HttpContext.Current只能从当前正在执行的线程中返回值
3.HttpContext.Current
这个会跟Thread.CurrentContext相关,多线程切换的时候
HttpContext.Current会被替换为当前线程的Context的。
一般会用到System.Web.HttpContext.Current.Server.MapPath方法,这时就不能用了所以可以用
System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);代替
还有一个就是文件操作不要用静态方法,会造成文件占用等问题。
但是以前的方法是不支持多线程的,程序运行错误。
追踪代码发现提示HttpContext为空。
1.HttpContext.Current表示当前HttpRequest 对应的Context对象
httpContext.current在不同的httpRequest 中是变化的
也就是说用httpConext.current.items来保存的数据是不能跨页面传递的。
2.HttpContext.Current只能从当前正在执行的线程中返回值
3.HttpContext.Current
这个会跟Thread.CurrentContext相关,多线程切换的时候
HttpContext.Current会被替换为当前线程的Context的。
一般会用到System.Web.HttpContext.Current.Server.MapPath方法,这时就不能用了所以可以用
System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);代替
还有一个就是文件操作不要用静态方法,会造成文件占用等问题。
相关文章推荐
- 多线程下HttpContext.Current 的问题
- .net 多线程下HttpContext.Current 的问题
- 异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)
- HttpContext.Current.Session为null的问题
- 异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)
- HttpContext.Current.Cache使用文件依赖问题
- 异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)
- ASP.NET多线程下使用HttpContext.Current为null解决方案
- 多线程中使用HttpContext.Current为null的解决办法
- 异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)
- ASP.NET多线程下使用HttpContext.Current为null解决方案
- 在IIS7下使用HttpModule的过程中遇到很诡异的问题,HttpContext.Current.User为NULL
- 多线程中使用HttpContext.Current为null的解决办法
- WCF HttpContext.Current为空的问题
- SharePoint 2013部署自定义HttpModule访问SPContext.Current的一个问题
- System.Web.HttpContext.Current.Session为NULL值的问题?
- System.Web.HttpContext.Current.Session为NULL值的问题?
- httpContext.Current.Session[值] 取值的问题
- 使用Nginx代理,HttpContext.Current.Request.Url.Host.ToString()获取地址是原地址的问题。
- ASP.NET多线程下使用HttpContext.Current为null解决方案 2015-01-22 15:23 349人阅读 评论(0) 收藏