2012-03-08 52 views
3

在ASP.NET,如果我使用:請問我的ASP.NET緩存存儲在服務器或瀏覽器

$<%@OutputCache Duration="3" VaryByParam="*" %> 

Cache.Insert("Names", mydataset); 

這個商店上的瀏覽器或服務器緩存?我知道他們是兩種不同的緩存方法,可能還有其他幾種,但我試圖找出緩存存儲在客戶端瀏覽器或服務器上的位置,以及我在哪裏可以找到存儲緩存之間的優缺點在他們中的任何一個。

回答

3

此:

<%@OutputCache Duration="3" VaryByParam="*" %> 

可就在這兩個緩存,服務器或客戶端,因爲默認情況下OutputCache指令的Location價值AnySee here僅供參考。

現在,這樣的:

Cache.Insert("Names", mydataset); 

將在應用程序緩存中的服務器端緩存。

+0

@lcarus does「may be緩存在兩個「意味着我有一個選擇,這是由一個額外的參數指定? – mjroodt 2012-03-08 14:43:51

+0

@mjroodt是的,你可以,這就是'Location'屬性的用途。看到這裏http://msdn.microsoft.com/en-us/library/hdxfb6cy(v=vs.71).aspx – Icarus 2012-03-08 14:45:57

2

這存儲在服務器上。輸出緩存存儲頁面處理後獲得的html輸出,因此服務器不需要一遍又一遍地處理頁面。

閱讀更多:http://www.4guysfromrolla.com/articles/022802-1.aspx

+1

-1並非完全如此。 OutputCache指令在問題上的地位,可能會將頁面緩存在客戶端上。請參閱我的答案和另一個鏈接:http://msdn.microsoft.com/en-us/library/system.web.ui.outputcachelocation(v=vs.100).aspx – Icarus 2012-03-08 14:55:46