1.在線程調用中,有時候會碰到操做文件之類的功能。對於開發人員來講,他們並不知道網站會被部署在服務器的那個角落裏面,所以根本沒法肯定真實的物理路徑(固然能夠使用配置文件來配置物理路徑),他們惟一知道的就是文件在項目中的相對路徑,爲了定位文件路徑,通常都會調用HttpContext.Current.Request.MapPath或者HttpContext.Current.Server.MapPath,可是在多線程調用中,HttpContext確定爲null,這時候還調用MapPath結果就是報錯。html
其實獲取項目路徑並不是只有HttpContext這一種方法,HttpRuntime.AppDomainAppPath也能夠獲取項目路徑,並且也是更安全的選擇。安全
2.在APM模式下的異步完成回調時,訪問HttpContext也會返回NULL,解決方案:服務器
在類型中添加一個字段來報錯HttpContext的引用(異步開始前)多線程
將HttpContext賦值給BeginXXX方法的最後一個參數(object state)異步
建議優先選擇第二種方法,由於能夠防止之後他人維護時數據成員被意外使用。網站
原文地址:http://www.cnblogs.com/babycool/p/3749812.html線程