Session 、Application 和 HttpContext 的使用區別

來源:互聯網
上載者:User

標籤:

 在ASP.NET WEB頁面開發中,經常會需要儲存一些資訊,以便在不同的頁面或時間段都能夠訪問到。這其中便會用到Session和Application。

Session 、Application 和 HttpContext 都是在伺服器上開闢了一個記憶體空間,將一些資訊儲存到該記憶體空間中。

Session :Session 會對每一個用戶端(瀏覽器)在伺服器端劃分一個地區,該地區用於儲存該用戶端的一些資訊,每一個用戶端對應伺服器端唯一的一個地區空間;Session預設的生存周期為20分鐘,當Session超出20分鐘或使用者主動刪除Session,則Session被銷毀。

Application :Application 對於每一個WEB網站在伺服器端劃分一個地區,但對於同一個WEB網站而言,Application 是共用的,也就是說,每一個用戶端(瀏覽器)都可以訪問同一個Application值;Application的生存周期為當前WEB網站啟動直至關閉。

HttpContext :HttpContext 有一個 Items屬性的索引值對,可以使用 HttpContext.Items["name"] = "Tom" 的方式來儲存值。但HttpContext只對當前請求的響應管道內(生命週期)有效,一旦當前管道關閉或者被銷毀,則HttpContext.Items的值也隨之被銷毀。(所以若使用HttpContext儲存值,那麼使用Response.Redirect("頁面地址")的方式會使得頁面周期被強行關閉而導致HttpContext被銷毀;但是使用Server.Transfer("頁面地址") 的方式並不會使管道被關閉,所以HttpContext依舊會被儲存下來。)

Session 、Application 和 HttpContext 的使用區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.