国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

OutputCache概念學習

2019-11-17 01:45:44
字體:
來源:轉載
供稿:網友

OutputCache概念學習

目錄

  • OutputCache概念學習

  • OutputCache屬性詳解(一)

  • OutputCache屬性詳解(二)

  • OutputCache屬性詳解(三)

  • OutputCache屬性詳解(四)— SqlDependency

關于緩存的介紹,可以參考這里,寫的非常好。

緩存的分類:

  • 客戶端緩存(Client Caching)
  • 代理緩存(PRoxy Caching)
  • 反向代理緩存(Reverse Proxy Caching)
  • 服務器緩存(Web Server Caching)

緩存的好處及應用:

  • 可以讓如CSS,js,image,aspx 等資源文件在第二次訪問時讀取本地而不用再次請求服務器端,減少客戶端對服務器資源請求的壓力,加快客戶端響應速度。
  • 對于經常使用的數據源,將其存儲在數據緩存中或者內存中,這樣來減少數據庫請求,緩解數據庫壓力。
  • 將網站部署在多臺計算機上,采用分布式方式處理,可以有效解決多個用戶請求對一臺服務器所造成的壓力,加快客戶端請求響應(分布式部署)。
  • 將經常訪問但數據經常不更新的頁面,可以將該頁面靜態化處理,有效減少服務器壓力和客戶端響應速度。

當然,上面的只是我個人的見解,如有問題歡迎指正。

asp.net 提供了方便的方法來控制緩存。@ OutputCache指令可用于控制頁面輸出緩存

OutputCache 語法:

<%@ OutputCache Duration="#ofseconds" Location="Any | Client | Downstream | Server | None | ServerAndClient " Shared="True | False" VaryByControl="controlname" VaryByCustom="browser | customstring" VaryByHeader="headers" VaryByParam="parametername" VaryByContentEncoding="encodings" CacheProfile="cache profile name | ''" NoStore="true | false" SqlDependency="database/table name pair | CommandNotification" ProviderName="Provider Name" %>

OutputCache 屬性:

參考:http://msdn.microsoft.com/zh-cn/library/hdxfb6cy.aspx

  • Duration:頁或用戶控件進行緩存的時間(以秒計)。在頁或用戶控件上設置該特性為來自對象的 HTTP 響應建立了一個過期策略,并將自動緩存頁或用戶控件輸出。
  • Location:OutputCacheLocation 枚舉值之一。默認值為 Any。

        Any:輸出緩存可位于產生請求的瀏覽器客戶端、參與請求的代理服務器(或任何其他服務器)或處理請求的服務器上。此值對應于 HttpCacheability.Public 枚舉值。        Client:輸出緩存位于產生請求的瀏覽器客戶端上。此值對應于 HttpCacheability.Private 枚舉值。        Downstream:輸出緩存可存儲在任何 HTTP 1.1 可緩存設備中,源服務器除外。這包括代理服務器和發出請求的客戶端。        None:對于請求的頁,禁用輸出緩存。此值對應于 HttpCacheability.NoCache 枚舉值。        Server:輸出緩存位于處理請求的 Web 服務器上。此值對應于 HttpCacheability.Server 枚舉值。        ServerAndClient:輸出緩存只能存儲在源服務器或發出請求的客戶端中。代理服務器不能緩存響應。此值對應于 HttpCacheability.Private 和 HttpCacheability.Server 枚舉值的組合。

  • CacheProfile:與該頁關聯的緩存設置的名稱。這是可選特性,默認值為空字符串 ("")。
  • NoStore:一個布爾值,它決定了是否阻止敏感信息的二級存儲。
  • ProviderName:一個字符串值,標識要使用的自定義輸出緩存提供程序。
  • Shared:一個布爾值,確定用戶控件輸出是否可以由多個頁共享。默認值為 false。
  • SqlDependency: 標識一組數據庫/表名稱對的字符串值,頁或控件的輸出緩存依賴于這些名稱對。請注意,SqlCacheDependency 類監視輸出緩存所依賴的數據庫中的表,因此當更新表中的項時,使用基于表的輪詢時將從緩存中移除這些項。如果以值 CommandNotification: 使用通知(在 Microsoft SQL Server 2005 中),則最終會使用 SqlDependency 類向 SQL Server 2005 服務器注冊查詢通知。
  • VaryByCustom: 任何表示自定義輸出緩存要求的文本。如果特性的賦值為 browser,緩存將隨瀏覽器名稱和主要版本信息的不同而異。如果輸入自定義字符串,則必須在應用程序的 Global.asax 文件中重寫 GetVaryByCustomString 方法。
  • VaryByHeader: 分號分隔的 HTTP 標頭列表,用于使輸出緩存發生變化。將該特性設為多標頭時,對于每個指定標頭組合,輸出緩存都包含一個不同版本的請求文檔。
  • VaryByParam: 分號分隔的字符串列表,用于使輸出緩存發生變化。默認情況下,這些字符串對應于使用 GET 方法特性發送的查詢字符串值,或者使用 POST 方法發送的參數。將該特性設置為多個參數時,對于每個指定參數組合,輸出緩存都包含一個不同版本的請求文檔。可能的值包括 none、星號 (*) 以及任何有效的查詢字符串或 POST 參數名稱。
  • VaryByControl:分號分隔的字符串列表,用于改變用戶控件的輸出緩存。這些字符串代表用戶控件中聲明的 ASP.NET 服務器控件的 ID 屬性值。
  • VaryByContentEncodings: 以分號分隔的字符串列表,用于更改輸出緩存。將 VaryByContentEncodings 特性用于 Accept-Encoding 標頭,可確定不同內容編碼獲得緩存響應的方式。有關如何指定 Accept-Encoding 標頭的更多信息,請參見 W3C 網站上的 Hypertext Transfer Protocol -- HTTP/1.1(超文本傳輸協議 -- HTTP/1.1)規范的 14.3 節。

關于OutputCache 的概念就寫到這,后面會寫到每個屬性的使用以及差異化,希望大家多多支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 班戈县| 台南市| 南华县| 扶余县| 红安县| 沧州市| 郓城县| 朝阳区| 始兴县| 巧家县| 日喀则市| 图木舒克市| 铜鼓县| 正阳县| 海盐县| 禹城市| 桂平市| 揭西县| 南投县| 辰溪县| 四子王旗| 商丘市| 盐山县| 浦城县| 丹江口市| 九江县| 长汀县| 张北县| 赣榆县| 宁化县| 大埔区| 巴彦淖尔市| 江城| 华容县| 惠州市| 麦盖提县| 上思县| 甘肃省| 永胜县| 沅陵县| 福鼎市|