2010-04-12 89 views

回答

6

我建議你遵循這個規則,以改善性能一般

http://developer.yahoo.com/performance/rules.html

如果您安裝了螢火蟲的YSlow,它會爲您驗證所有這些規則。

關於緩存特別是我建議你閱讀本教程。 Cache是​​一個非常廣泛的話題,這是不容易在10線來說明一切:-)

http://www.mnot.net/cache_docs/#CONTROL

特別談到了ASP NET頁面輸出緩存指令,它的使用非常簡單。在這裏,你有參考

http://msdn.microsoft.com/en-us/library/hdxfb6cy.aspx

但是請考慮到使用的網頁緩存,也爲其他資源如CSS,JS和圖像是非常重要的。

+0

請不要鏈接到解決方案,因爲它們過時了,就像上面的鏈接 – 2016-11-21 21:02:01

1

有幾年前我寫的關於asp.net緩存的文章。我相信你能理解的語言:

http://www.csharpnedir.com/articles/read/?id=736&title=ASP.NET%27de

+0

是的,我可以。但是,Asp.Net 4來了,可能大多數事情會再次發生變化:) – 2010-04-13 08:46:19

+0

如果Asp.NET 4.0中有任何改變,它很可能不會影響抽象部分的用戶,也許是底層的。所以你不必擔心它。 – Tarik 2010-04-13 16:45:50

7

注意,ASP.NET緩存有bug自1.0,可以有效地禁用客戶端緩存。
這就是爲什麼稍後添加HttpCachePolicy.SetOmitVaryStar()方法作爲解決方法。 開發人員應該使用它,但不幸的是,似乎很少有人知道上述方法。
作爲響應,行爲在ASP.NET 4.0改變,如圖中詳述的ASP.NET 4 Breaking Changes list

在ASP.NET 1.0,中的錯誤引起的是指定的位置=「ServerAndClient」緩存頁面作爲輸出緩存設置爲在響應中發出Vary:* HTTP標頭。這具有告訴客戶端瀏覽器從不在本地緩存頁面的效果。

在ASP.NET 1.1中添加了System.Web.HttpCachePolicy.SetOmitVaryStar方法,您可以調用該方法來抑制Vary:*頭。選擇此方法是因爲更改發送的HTTP標頭被認爲是當時可能發生的突破性更改。但是,開發人員對ASP.NET中的行爲感到困惑,並且錯誤報告表明開發人員不瞭解現有的SetOmitVaryStar行爲。

在ASP.NET 4中,決定修復根本問題。的不同而不同:* HTTP標頭不再從指定以下指令響應發射:

<的OutputCache位置=「ServerAndClient」%>

結果,SetOmitVaryStar不再需要爲了抑制使用Vary :*標題。

在頁面上的@ OutputCache指令中指定Location =「ServerAndClient」的應用程序中,您現在將看到Location屬性值的名稱隱含的行爲 - 也就是說,頁面可以在瀏覽器中緩存而無需你稱之爲SetOmitVaryStar方法。

如果您的應用程序必須發出頁面有所不同:*,調用AppendHeader方法,如下面的例子:

HttpResponse.AppendHeader( 「和而不同」, 「*」);

或者,您可以將輸出緩存位置屬性的值更改爲「服務器」。

+0

感謝您提供豐富的答案。我將在我的Asp.Net 4應用程序中開始使用緩存。 – 2010-04-14 06:00:52

相關問題