Tôi đang triển khai một dịch vụ REST đơn giản với WCF Web API và cố gắng đặt tiêu đề HTTP để lưu trữ các câu trả lời.Bộ nhớ đệm HTTP trong API Web WCF có vẻ không nhất quán trên các trình duyệt
Đối với một GET đơn giản như thế này
http://localhost:49302/my/2
các tiêu đề phản ứng giống như thế này:
Server: ASP.NET Development Server/10.0.0.0
Date: Tue, 24 Jan 2012 18:18:44 GMT
X-AspNet-Version: 4.0.30319
Content-Length: 233
Cache-Control: max-age=120
Vary: Accept
Expires: Tue, 24 Jan 2012 18:20:44 GMT
Last-Modified: Tue, 24 Jan 2012 18:18:15 GMT
Content-Type: application/xml; charset=utf-8
Mục đích là khách hàng nên bộ nhớ cache nguồn lực cho hai phút.
Tuy nhiên, bằng cách sử dụng WCF Web API thử nghiệm khách hàng, hành vi này là không phù hợp trên các trình duyệt khác nhau:
- Trong Firefox (9.0.1) yêu cầu được lưu trữ, và lần đầu tiên sau hai phút là một phiên bản mới của tài nguyên được hiển thị. Hành vi này là như mong đợi.
- Trong Chrome (16.0.912.77 m), tiêu đề bộ nhớ cache không được tôn trọng. Một phiên bản mới của tài nguyên đang được tìm nạp cho mọi yêu cầu GET. Hành vi này không được mong đợi (bởi tôi, ít nhất).
- Trong Internet Explorer (9) hành vi cũng giống như trong Chrome.
Tại sao Chrome và IE không tôn trọng tiêu đề bộ nhớ cache?
Đây có phải là lỗi trong ứng dụng khách kiểm tra API web của WCF không?
Kiểm tra API web của WCF Khách hàng rất mới nên có thể có lỗi. Bạn có thể kiểm tra trực tiếp với trình duyệt hoặc viết một trang thử nghiệm nhỏ không. – suing