मैं ASP.NET WebAPI का उपयोग कर रहा है और सब कुछ में कैशिंग को रोकने के लिए निम्नलिखित कोड है:वेबएपी से नवीनतम प्रतिक्रिया कैशिंग से क्रोम को कैसे रोकें?
public override System.Threading.Tasks.Task<HttpResponseMessage> ExecuteAsync(System.Web.Http.Controllers.HttpControllerContext controllerContext, System.Threading.CancellationToken cancellationToken)
{
System.Threading.Tasks.Task<HttpResponseMessage> task = base.ExecuteAsync(controllerContext, cancellationToken);
task.GetAwaiter().OnCompleted(() =>
{
task.Result.Headers.CacheControl = new CacheControlHeaderValue()
{
NoCache = true,
NoStore = true,
MaxAge = new TimeSpan(0),
MustRevalidate = true
};
task.Result.Headers.Pragma.Add(new NameValueHeaderValue("no-cache"));
task.Result.Content.Headers.Expires = DateTimeOffset.MinValue;
});
return task;
}
परिणाम हेडर इस (क्रोम) की तरह लग रहे:
Cache-Control:no-store, must-revalidate, no-cache, max-age=0
Content-Length:1891
Content-Type:application/json; charset=utf-8
Date:Fri, 19 Jul 2013 20:40:23 GMT
Expires:Mon, 01 Jan 0001 00:00:00 GMT
Pragma:no-cache
Server:Microsoft-IIS/8.0
मैं कहा, "नहीं- स्टोर "बग के बारे में पढ़ने के बाद (How to stop chrome from caching)।
Request Method:GET
Status Code:200 OK (from cache)
किसी को भी किसी भी है:
हालांकि, कोई फर्क नहीं पड़ता कि मुझे क्या करना है, जब मैं कुछ है कि मुझे इस पेज से चला, और उसके बाद "वापस" बटन का उपयोग करते हैं, क्रोम हमेशा कैश से लोड करता है विचार यह क्यों हो रहा है? मैंने पुष्टि की है कि सर्वर इस अनुरोध के लिए कभी हिट नहीं हुआ है।
यदि आपने नो-स्टोर सेट किया है, तो नो-कैश सेट न करें, पुन: संशोधित करें, अधिकतम आयु और समाप्त हो जाए क्योंकि वे नो-स्टोर का विरोध करते हैं। नो-स्टोर का मतलब है कि प्रतिनिधित्व को संग्रहीत नहीं किया जा सकता है और शेष निर्देश संग्रहित प्रस्तुतियों के प्रबंधन के नियमों की व्याख्या करते हैं। –
अच्छी तरह से मैंने क्रोम बग की वजह से नो-स्टोर जोड़ा जो नो-कैश को अनदेखा करता है और समाप्त हो जाता है (देखें http://stackoverflow.com/questions/4146813/how-to-stop-chrome-from-caching) ... तो , मुझे नहीं पता कि आप इसके बारे में क्या करना चाहते हैं। – automaton
दुर्भाग्य से नो-कैश का मतलब कैश नहीं है। इसका यह भी अर्थ यह नहीं है कि क्रोम कैश की गई प्रति का उपयोग नहीं कर सकता है। इसका मतलब यह है कि कैश की गई प्रति का उपयोग करने से पहले इसे सर्वर से जांचना होगा। यदि सर्वर सही जानकारी नहीं लौटाता है तो क्रोम खुशी से कैश किए गए परिणाम को वापस कर देगा। –