問題引出html
HttpContext.Current.Cache .VS. HttpRuntime.Cache瀏覽器
HttpContext.Current.Cache 調用 HttpRuntime.Cache實現,二者指向同一 Cache對象:緩存
在某些狀況下,HttpContext還沒被建立出來爲null,就只能用 HttpRuntime.Cache。服務器
建議使用 HttpRuntime.Cache,既能減小出錯,也減小一次函數調用。異步
eg:在獲取程序\站點的根目錄時儘可能使用 System.Web.HttpRuntime.AppDomainAppPath。函數
其中,關於 APM模式 參見:http://www.javashuo.com/article/p-yqdcuibx-em.htmlspa
限制:同一Http請求線程
Server.Transfer .VS. Response.Redirecthtm
Server.Transfer 請求跳轉頁面,歸屬同一個http請求,URL無變化,全部操做均在服務器完成;Response.Redirect 則是從新發起新的頁面請求,須要瀏覽器和服務器交互。對象
具體參見:HttpContext 初識;
HttpContext.Current 由其維護
System.Runtime.Remoting.Messaging.CallContext.HostContext as HttpContext
其中,CallContext.HostContext 表示:獲取或設置與當前線程相關聯的主機上下文 。
APM模式下的異步完成回調,訪問HttpContext.Current方法:推薦第2種方法
使用時建議自行封裝,可參見:ASP.Net HttpRuntime.Cache 使用總結;
獲取或設置與當前線程相關聯的主機上下文