2013-10-18 43 views

回答

2

在我們當前的實施中,我們正在使用Response.AddHeader(...)在每項服務中手動設置。這是因爲我們想要控制每個服務的緩存過期時間。儘管如此,我仍然有興趣學習更清潔的方法。

Response.AddHeader(ServiceStack.Common.Web.HttpHeaders.CacheControl, String.Format("max-age={0}, public", ConfigurationManager.AppSettings["Cache.Expiration.Resource"])); 
+0

謝謝! –

7

我使用了一個請求過濾器屬性,該屬性適用於不應在客戶端上緩存的每個服務或方法。

public class NoCacheAttribute : RequestFilterAttribute 
{ 
    public override void Execute(IHttpRequest req, IHttpResponse res, object responseDto) 
    { 
     res.AddHeader(HttpHeaders.CacheControl, "no-store,must-revalidate,no-cache,max-age=0"); 
    } 
}