欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
整理了一下MSDN中關(guān)于A(yíng)SP.NET緩存機制的論述 - qdzx2008的專(zhuān)欄 - CS...
    Response.Write(t); %>





下面的代碼示例演示了包括在頁(yè)中的用戶(hù)控件??丶木彺娉掷m時(shí)間設置為 50 秒。




<% @Control language="C#" %><% @OutputCache duration="50" varybyparam="none" %>This user control was most recently generated at:<p><% DateTime t = DateTime.Now.ToString();Response.Write(t); %>





不過(guò),如果頁(yè)的輸出緩存持續時(shí)間比用戶(hù)控件的輸出緩存持續時(shí)間短,則即使已為某個(gè)請求
重新生成該頁(yè)的其余部分,也將一直緩存用戶(hù)控件直到其持續時(shí)間到期為止。例如,如果頁(yè)
的輸出緩存設置為 50 秒,而用戶(hù)控件的輸出緩存設置為 100 秒,則頁(yè)的其余部分每到期
兩次,用戶(hù)控件才到期一次。


下面的代碼演示了一個(gè)頁(yè)的標記,該頁(yè)中包含的用戶(hù)控件的緩存持續時(shí)間長(cháng)于該頁(yè)的緩存
持續時(shí)間。該頁(yè)配置為緩存 50 秒。




<%@ Page language="C#" %><%@ Register tagprefix="SampleControl" tagname="Time" src="uc2.ascx" %><%@ OutputCache duration="50" varybyparam="none" %><SampleControl:Time runat="server" /><br /> <br /> <br />This page was most recently generated at:<p><% DateTime t = DateTime.Now.ToString();Response.Write(t); %>





下面的代碼演示了包括在頁(yè)中的用戶(hù)控件??丶木彺娉掷m時(shí)間設置為 100 秒。




<% @Control language="C#" %><% @OutputCache duration="100" varybyparam="none" %>This user control was most recently generated at:<p><% DateTime t = DateTime.Now.ToString();Response.Write(t); %>



(七)以聲明方式設置 ASP.NET 頁(yè)的可緩存性 
設置頁(yè)的可緩存性 
頁(yè)或用戶(hù)控件的可緩存性是指是否可以在頁(yè)的響應生命周期內在設備上緩存頁(yè)??删彺骓?yè)的設備
包括發(fā)出請求的瀏覽器、響應請求的 Web 服務(wù)器以及請求或響應流中其他任何具有緩存功能的設備,
如代理服務(wù)器。
當 Web 服務(wù)器向請求瀏覽器發(fā)送響應時(shí),服務(wù)器會(huì )在響應的 HTTP 頭中包含一個(gè) Cache-Control 
字段,該字段定義可以緩存該頁(yè)的設備。根據您應用程序的需要,可以分別定義哪些設備應該或不應緩
存各個(gè) ASP.NET 頁(yè)。例如,您可能希望用戶(hù)登錄頁(yè)的可緩存性設置不同于顯示產(chǎn)品選擇的目錄頁(yè)的
對應設置。對于登錄頁(yè),出于安全方面的考慮,您可能希望只將頁(yè)緩存到服務(wù)器上,而目錄頁(yè)可以緩存
到任何設備上。
對于 ASP.NET 頁(yè),可以使用 HttpCacheability 枚舉中的值設置可緩存性。該枚舉具有下列值。
前三個(gè)值與 Cache-Control HTTP 頭設置直接對應,后三個(gè)值為特殊值。
NoCache 指定發(fā)出請求的設備每次應從 Web 服務(wù)器獲取響應。
Public 允許由客戶(hù)端和共享(代理)緩存來(lái)緩存響應。
Private 指定響應只能在客戶(hù)端上緩存,而不能由共享(代理服務(wù)器)緩存來(lái)緩存。
Server 指定僅在原始服務(wù)器上緩存響應。
ServerAndNoCache 應用 Server 和 NoCache 兩者的設置,以指示在該服務(wù)器上緩存內容,
但顯式拒絕其他所有服務(wù)器緩存響應的功能。
ServerAndPrivate 指定僅在原始服務(wù)器和請求客戶(hù)端上緩存響應;不允許代理服務(wù)器緩存響應。
您可以通過(guò)在 @ OutputCache 指令中包含 Location 屬性并指定 OutputCacheLocation 
枚舉值之一,以聲明的方式設置頁(yè)的可緩存性。還可以使用 SetCacheability 方法為頁(yè)指定
HttpCacheability 值,從而以編程方式設置該頁(yè)的可緩存性??梢酝ㄟ^(guò) Response 類(lèi)的 Cache
屬性訪(fǎng)問(wèn)該方法。

 

  1. 在頁(yè)中包含 @ OutputCache 指令,并定義 DurationVaryByParam 屬性。

  2. @ OutputCache 指令中包含 Location 屬性,并將其值定義為 OutputCacheLocation
    枚舉中的下列值之一:Any、Client、Downstream、Server、ServerAndClientNone。

    下面的代碼演示如何將頁(yè)的可緩存性設置為 60 秒:

    <%@ OutputCache Duration="60" VaryByParam="None"%>
    注意

    默認設置為 Any。如果未定義 Location 屬性,則可以將頁(yè)輸出緩存在與響應有關(guān)的所有具有緩存功能的網(wǎng)絡(luò )設備上。其中包括請求客戶(hù)端、原服務(wù)器、以及響應通過(guò)的任何代理服務(wù)器。

使用緩存配置文件以聲明方式設置頁(yè)的可緩存性

  1. 在應用程序的 Web.config 文件中定義緩存配置文件,在配置文件中包括 duration
    varyByParam 設置。

    下面的 <caching> 配置元素定義名為 Cache30Seconds 的緩存配置文件,它將在服務(wù)器
    上將頁(yè)緩存 30 秒之久。

    <caching>    <outputCacheSettings>    <outputCacheProfiles>    <add name="Cache30Seconds" duration="30"    varyByParam="none" />    </outputCacheProfiles>    </outputCacheSettings>    </caching>
  2. 在使用配置文件的每個(gè) ASP.NET 頁(yè)中包含 @ OutputCache 指令,并將 CacheProfile
    屬性設置為 Web.config 文件中定義的緩存配置文件的名稱(chēng)。

    下面的代碼指定頁(yè)應當使用名為 Cache30Seconds 的緩存配置文件:

    <%@ OutputCache CacheProfile="Cache30Seconds" %>
(八)以編程方式設置頁(yè)的可緩存性
  在頁(yè)的代碼中,調用 Response 對象的 Cache 屬性的 SetCacheability 方法。
  • 下面的代碼將 Cache-Control HTTP 標頭設置為 Public。

    Response.Cache.SetCacheability(HttpCacheability.Public);    

    如果將 NoCacheServerAndNoCache 傳遞到 SetCacheability 方法以防止請求的
    瀏覽器在它自己的歷史記錄文件夾中緩存某一頁(yè),那么任何時(shí)候當某個(gè)用戶(hù)單擊“后退”或
    “前進(jìn)”按鈕時(shí),都會(huì )請求響應的新版本。通過(guò)調用 Cache 屬性的
    SetAllowResponseInBrowserHistory 方法,并且為 allow 參數傳遞 true 值,
    您可以按條件重寫(xiě)此行為。

    如果將可緩存性設置為除 NoCacheServerAndNoCache 之外的任何值,ASP.NET
    將忽略由 SetAllowResponseInBrowserHistory 方法設置的值。

(九)設置 ASP.NET 頁(yè)緩存的過(guò)期時(shí)間值 

 

若要導致某一頁(yè)添加到輸出緩存中,需要為該頁(yè)建立到期策略。這可以通過(guò)以聲明方式或編程方式來(lái)實(shí)現。

以聲明方式為頁(yè)設置輸出緩存到期時(shí)間

  • @ OutputCache 指令包括在您要緩存其響應的 ASP.NET 頁(yè)(.aspx 文件)中。將 Duration 屬性設置為一個(gè)正數值,將 VaryByParam 屬性設置為一個(gè)值。

    注意

    默認情況下,@ OutputCache 指令將 Cache-Control 標頭設置為 Any。

    例如,下面的 @ OutputCache 指令將頁(yè)的到期時(shí)間設置為 60 秒:

    <%@ OutputCache Duration="60" VaryByParam="None" %>
    注意

    在使用 @ OutputCache 指令時(shí),必須包括一個(gè) VaryByParam 屬性,否則將出現分析器錯誤。如果不希望使用 VaryByParam 屬性提供的功能,請將它的值設置為“None”。有關(guān)更多信息,請參見(jiàn)緩存頁(yè)的多個(gè)版本。

以編程方式為頁(yè)設置輸出緩存到期時(shí)間

  • 在該頁(yè)的代碼中,在 Response 對象的 Cache 屬性中設置該頁(yè)的到期策略。

    注意

    如果以編程方式設置頁(yè)的到期時(shí)間,則您還必須為緩存的頁(yè)設置 Cache-Control 標頭。為此,請調用 SetCacheability 方法并向其傳遞 HttpCacheability 枚舉值 Public。

    下面的代碼示例設置與前面過(guò)程中的 @ OutputCache 指令相同的緩存策略。

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));    Response.Cache.SetCacheability(HttpCacheability.Public);    Response.Cache.SetValidUntilExpires(true);

    當緩存頁(yè)到期時(shí),以后對該頁(yè)的請求將導致動(dòng)態(tài)生成的響應。會(huì )在指定的持續時(shí)間內緩存該響應頁(yè)。

  •  

(十)動(dòng)態(tài)更新緩存頁(yè)的部分 

 

對頁(yè)面進(jìn)行緩存可以大大提高 Web 應用程序的性能。不過(guò),在有些情況下,需要緩存頁(yè)面的大部分內容,但頁(yè)面中的某些片段是動(dòng)態(tài)的。例如,如果創(chuàng )建一個(gè)頁(yè)面,其中的新聞故事在設定時(shí)間段內完全是靜態(tài)的,則可以設置為緩存整個(gè)頁(yè)面。如果希望提供在每次頁(yè)請求時(shí)都發(fā)生變化的交替出現的廣告橫幅,則該頁(yè)中包含該廣告的部分需要是動(dòng)態(tài)的。

若要允許緩存某個(gè)頁(yè)面但動(dòng)態(tài)地替換其中的某些內容,可以使用 ASP.NET 緩存后替換。通過(guò)使用緩存后替換,將對整個(gè)頁(yè)面進(jìn)行輸出緩存,并將特定的部分標記為不進(jìn)行緩存。在廣告橫幅示例中,AdRotator 控件使您可以利用緩存后替換功能,以便為每個(gè)用戶(hù)及在每次刷新頁(yè)時(shí)動(dòng)態(tài)創(chuàng )建廣告。

有三種方法可以實(shí)現緩存后替換:

  • 以聲明方式使用 Substitution 控件。

  • 以編程方式使用 Substitution 控件 API。

  • 以隱式方式使用 AdRotator 控件。

Substitution 控件

ASP.NET Substitution 控件指定緩存頁(yè)中動(dòng)態(tài)創(chuàng )建而不進(jìn)行緩存的部分。將 Substitution 控件放置在該頁(yè)上要顯示動(dòng)態(tài)內容的位置。

在運行時(shí),Substitution 控件調用使用 MethodName 屬性指定的方法。該方法必須返回一個(gè)字符串,然后該字符串替換 Substitution 控件的內容。該方法必須是 PageUserControl 包含控件上的靜態(tài)方法。

使用 Substitution 控件可以將客戶(hù)端可緩存性更改為服務(wù)器可緩存性,以便該頁(yè)面不會(huì )在客戶(hù)端上進(jìn)行緩存。這樣可以確保以后對該頁(yè)的請求能夠再次調用該方法以生成動(dòng)態(tài)內容。

Substitution API

若要以編程方式為緩存頁(yè)創(chuàng )建動(dòng)態(tài)內容,可以在頁(yè)代碼中將某個(gè)方法的名稱(chēng)作為參數傳遞給 WriteSubstitution 方法來(lái)調用該方法。該方法處理動(dòng)態(tài)內容的創(chuàng )建,它采用單個(gè) HttpContext 參數并返回一個(gè)字符串。該返回字符串是將在給定位置被替換的內容。通過(guò)調用 WriteSubstitution 方法來(lái)代替以聲明方式使用 Substitution 控件的一個(gè)好處是可以調用任意對象的方法,而不只是調用 PageUserControl 對象的靜態(tài)方法。

調用 WriteSubstitution 方法可以將客戶(hù)端可緩存性更改為服務(wù)器可緩存性,以便該頁(yè)不會(huì )在客戶(hù)端上進(jìn)行緩存。這樣可以確保以后對該頁(yè)的請求能夠再次調用該方法以生成動(dòng)態(tài)內容。

AdRotator 控件

AdRotator 服務(wù)器控件在內部實(shí)現對緩存后替換的支持。如果將 AdRotator 控件放在頁(yè)面上,則無(wú)論是否緩存父頁(yè),都將在每次請求時(shí)呈現其特有的廣告。因此,包含 AdRotator 控件的頁(yè)面只在服務(wù)器端進(jìn)行緩存。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
.net緩存技術(shù)詳解
提高網(wǎng)站速度:ASP.NET緩存詳解-程序開(kāi)發(fā)-紅黑聯(lián)盟
asp.net網(wǎng)頁(yè)緩存配置
ASP.NET MVC 教程 -使用輸出緩存提高性能(C#)
ASP.NET Cache的一些總結
ASP.NET緩存全解析3:頁(yè)面局部緩存
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久