2013-04-22 66 views

回答

1

你應該分開在文件夾這個靜態文件和直接在IIS中配置它

下面是IIS6一個例子:

http://www.websiteoptimization.com/secrets/advanced/9-7-content-expiration-IIS.html

或通過代碼,你可以實現一個IHttpModule

public class CacheExpiresModule : IHttpModule 
{ 
    public void Dispose() { } 

    public void Init(HttpApplication context) 
    { 
     context.BeginRequest += new EventHandler(context_BeginRequest); 
    } 

    void context_BeginRequest(object sender, EventArgs e) 
    { 
     HttpContext context = HttpContext.Current; 
     string url = context.Request.Url.ToString(); 

     if (url.Contains("/Static/")) 
     { 
      context.Response.Cache.SetExpires(DateTime.Now.AddYears(30)); 
      context.Response.Cache.SetMaxAge(TimeSpan.FromDays(365)); 
     } 
    } 
} 

並在您的web.config上配置它

+2

謝謝你,但是,有沒有辦法從後面的代碼或web.config中做到這一點(僅適用於cacheing圖像圖像)。 – kishor 2013-04-23 06:11:49

+0

IHttpModule解決了你的問題? – 2013-05-02 21:34:44

+0

我認爲應用鏈接中建議的方式,將獲得所有靜態資源cached.it不會告訴如何配置它爲包含靜態resourecs的特定文件夾 – kishor 2013-05-03 11:45:03