多线程下HttpContext.Current 的问题
在項目中需要記錄文本日志,為了加快響應速度所以用到了多線程。
但是以前的方法是不支持多線程的,程序運行錯誤。
追蹤代碼發現提示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);代替
還有一個就是文件操作不要用靜態方法,會造成文件占用等問題。
轉載于:https://www.cnblogs.com/PLifeCopyDown/p/3935429.html
總結
以上是生活随笔為你收集整理的多线程下HttpContext.Current 的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 过长内容分成了多次发送 问题 Lengt
- 下一篇: 阿里巴巴2013年实习生笔试题A