2012-09-29 15 views
5

काम नहीं कर रहा विशेषता आईआईएस 7.5 में मैं cacheControlMaxAge निर्धारित किया है तोIIS7 cacheControlMaxAge

<location path="Content/Images"> 
    <system.webServer> 
     <staticContent> 
     <clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" /> 
     </staticContent> 
    </system.webServer> 
    </location> 

इस गाइड के अनुसार की तरह एक वर्ष होने के लिए: Setting Expires and Cache-Control: max-age headers for static resources in ASP.NET

हालांकि, Google PageSpeed ​​टूल अभी भी कह रहा है कि फाइलें कैश नहीं हैं:

The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future for the following resources: 
* https://local.example.com/Content/Images/image1.png (expiration not specified) 
(etc) 

यह क्यों कहा जाता है कि "समाप्ति निर्दिष्ट नहीं है"?

पूरे webapp https पर पेश किया जाता है, एक कारक है?

+2

आप image1.png के http हेडर का निरीक्षण किया है? आप नेटवर्क टैब के अंतर्गत अपने ब्राउज़र के देव उपकरण (क्रोम/एफएफ/IE में F12) में यह कर सकते हैं,। या आप फिडलर का उपयोग कर सकते हैं। अधिकतम आयु सेट होने पर सभी आधुनिक ब्राउज़र https पर कैश आइटम करते हैं। –

+0

http हेडर कहना 'कैश-नियंत्रण: public' लेकिन समाप्ति का कोई जिक्र नहीं है, क्या समाप्ति हैडर कहा जा सकता है? –

+1

हल किया गया: 'स्थान पथ =" सामग्री/छवियों "के बजाय 'स्थान पथ =" सामग्री "के लिए कैशिंग विशेषताओं को जोड़ना समस्या को ठीक किया गया। –

उत्तर

3

मैं करने के लिए पथ Content/Images से निर्दिष्ट बदलते सिर्फ Content

<location path="Content"> 
    <system.webServer> 
     <staticContent> 
     <clientCache cacheControlCustom="public" 
        cacheControlMode="UseMaxAge" 
        cacheControlMaxAge="365.00:00:00" /> 
     </staticContent> 
    </system.webServer> 
    </location> 

तो यह तय हो गई है के द्वारा इस हल, लेकिन पथ की बदलती नहीं है यह स्पष्ट है कि समस्या क्या वास्तव में था।

0

मैं कुछ उदाहरणों में Google PageSpeed ​​पाया है समय का एक सा लेता है हाल ही में किए गए बदलावों को साथ 'पकड़ने' के लिए। सुनिश्चित करें कि आपने एक पूर्ण पृष्ठ रीफ्रेश किया है और पेजस्पेड में रीफ्रेश बटन दबाएं। ऐसा विफल होने पर, फ़ायरफ़ॉक्स पर फ़ायरबग का उपयोग करना हमेशा नेट टैब में सटीक परिणाम देता है। फ़ाइल के बगल में प्लस आइकन पर क्लिक करें और प्रतिक्रिया शीर्षलेखों की जांच करें।

+1

मुझे पता चला है कि पृष्ठ के अंत में एक अप्रासंगिक क्वेरी स्ट्रिंग जोड़ना नवीनतम पृष्ठ प्राप्त करने के लिए Google पेजस्पेड को मजबूर करता है। यानी http://www.example.com/testpage.htm?x=1 – EddieC