2012-05-18 56 views
17

Tôi không thể tải tệp hình ảnh vào bộ nhớ cache. Tôi đã thử tất cả mọi thứ mà tôi đã tìm thấy trên trang web này và những người khác và vẫn không thể đưa họ vào bộ nhớ cache.IIS 7.5 và hình ảnh không được lưu trong bộ nhớ cache

thiết lập cấu hình Web mà tôi đã cố gắng

<staticContent> 
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" /> 
    </staticContent> 
    <httpProtocol allowKeepAlive="true" /> 


    <caching enabled="true" enableKernelCache="true"> 
    <profiles> 
    <add extension=".png" policy="CacheUntilChange" /> 
    <add extension=".jpg" policy="CacheForTimePeriod" duration="12:00:00" /> 
    </profiles> 
    </caching> 

Đây là tiêu đề phản ứng cho 1 trong những hình ảnh

Key Value 
    Response HTTP/1.1 200 OK 
    Cache-Control no-cache 
    Content-Type image/png 
    Last-Modified Thu, 16 Dec 2004 18:33:28 GMT 
    Accept-Ranges bytes 
    ETag "a1ca4bc9de3c41:0" 
    Server Microsoft-IIS/7.5 
    X-Powered-By ASP.NET 
    Date Fri, 18 May 2012 13:21:21 GMT 
    Content-Length 775 
+1

IIS lưu trữ nội dung tĩnh theo mặc định. Khi bạn kiểm tra tiêu đề, hãy đảm bảo các công cụ dev của bạn không có tùy chọn được đặt để tắt bộ nhớ cache. – ajbeaven

Trả lời

29

Sau đây nên gây ra các trình duyệt để cache hình ảnh của bạn:

<staticContent> 
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" /> 
</staticContent> 
<httpProtocol> 
    <customHeaders> 
     <add name="Cache-Control" value="public" /> 
    </customHeaders> 
</httpProtocol> 

Khối <caching>...</caching> dành cho lưu vào bộ nhớ cache phía máy chủ, không phải cache bên phía máy khách g.

+1

Điều này có cho phép tiêu đề bộ nhớ cache của khách hàng trên mọi tệp tĩnh (.js, .css, .jpg, v.v.) không? Làm cách nào để kiểm soát tiện ích mở rộng? Cảm ơn – Andres

+3

Nó cho phép các tiêu đề bộ nhớ cache cho tất cả nội dung tĩnh (được kích hoạt trong IIS) trong thư mục (và thư mục con) với tệp 'web.config' được bật. Vì vậy, nếu bạn hình ảnh của bạn là trong '/ images', bạn nên tạo một' web.config' với ở trên và đặt trong thư mục '/ images' để chỉ những hình ảnh bị ảnh hưởng bởi điều này. Bạn không thể bật/tắt nó cho mỗi phần mở rộng tập tin. –

+0

điều này gây ra lỗi 500,19, tôi nên làm gì? – Digerkam

Các vấn đề liên quan