2009-07-15 95 views
3

我剛開始在我的一些控制器動作上使用OutputCache,並且我沒有完全得到我期望的響應。ASP.NET MVC:OutputCache和http頭 - 緩存控制

基本上我已經設置位置= OutputCacheLocation.Any和HTTP頭如下:

Server    ASP.NET Development Server/9.0.0.0 
Date    Wed, 15 Jul 2009 02:14:21 GMT 
X-AspNet-Version 2.0.50727 
X-AspNetMvc-Version 1.0 
Content-Encoding gzip 
Cache-Control  private, max-age=3600 
Expires    Wed, 15 Jul 2009 02:14:21 GMT 
Last-Modified  Wed, 15 Jul 2009 02:14:20 GMT 
Vary    * 
Content-Type  text/html; charset=utf-8 
Content-Length  640 
Connection   Close 

現在,如果我的解釋是正確的緩存控制部分被設置爲私有的手段,它只會被緩存在客戶端。我也需要緩存在任何代理上。

我本來期望通過設置OutputCacheLocation.Any緩存控制會一直像「公共,最大年齡= 3600」。據我所知,私人意味着它只會被緩存在客戶端,而不是「任何」(即代理 - 見http://msdn.microsoft.com/en-us/library/system.web.httpcacheability.aspx)。

任何想法?

乾杯 安東尼

+0

您是否嘗試將您的網站發佈到IIS並在那裏查看標題?它與開發服務器上的相同嗎? – womp 2009-07-15 02:39:31

+0

不,我只在VS atm內試過。你認爲會有區別嗎? – 2009-07-15 03:22:38

回答

1

見上述意見的解決方案

編輯

此評論被視爲答案:

你試過站點發布到IIS和期待在標題 那裏?它與開發服務器上的相同嗎? -