前段時(shí)間工作比較忙
,沒(méi)時(shí)間讀代碼,這幾天有空,正好又來(lái)靜讀代碼了.
在
Menus_ascx中我們看到用了緩存自定義字符串"authenticated"
<%@ OutputCache Duration="86400" VaryByParam="None" VaryByCustom="authenticated" %>
注意
:
@OutputCache 指令與必需的 Duration 和 VaryByParam 屬性包括在一起。必須將 Duration 屬性設(shè)置為大于零的任意整數(shù)。如果不想使用 VaryByParam 屬性提供的功能,請(qǐng)將其值設(shè)置為 None
?
在 Global.asax 文件中重寫 GetVaryByCustomString 方法
此處是根據(jù)用戶是否驗(yàn)證來(lái)緩存用戶控件
,
即一個(gè)通過(guò)驗(yàn)證的用戶控件
,
一個(gè)未驗(yàn)證的用戶控件

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

?
根據(jù)此思路我們可以開發(fā)一個(gè)依瀏覽器類型不同的緩存頁(yè)面的例子
例如我們現(xiàn)有頁(yè)面 WebForm3.aspx,我們可以根據(jù)訪問(wèn)著的瀏覽器類型來(lái)做頁(yè)面緩存
首先在頁(yè)面中加入
<%@ OutputCache Duration="600" VaryByParam="none" VaryByCustom="ietype" %>
如果定義了自定義字符串,必須在應(yīng)用程序的 Global.asax 文件中重寫 HttpApplication.GetVaryByCustomString 方法
?

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

19

20

?
這樣設(shè)置好后 ,
當(dāng)我用 IE6訪問(wèn)頁(yè)面WebForm3.aspx時(shí),服務(wù)器緩存這個(gè)類型瀏覽器的頁(yè)面600秒
當(dāng)我再用 Opera7.54 訪問(wèn)頁(yè)面 WebForm3.aspx時(shí),服務(wù)器又緩存這個(gè)類型瀏覽器的頁(yè)面600秒
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
