में ब्राउज़र स्क्रिप्ट कैशिंग बंद करें मेरे पास हमारे क्लाइंट की मशीनों पर एक जीडब्ल्यूटी ऐप तैनात है। चल रहे विकास के साथ-साथ, हमें समय-समय पर एप्लिकेशन फ़्रॉन समय के नए उन्नत संस्करणों को रिलीज़ करना होगा। हर हम एक नया संस्करण हम अक्सर समस्या जहां ग्राहक के ब्राउज़र वर्ष लिपियों scriptsand एक के लिए, जबकि यह strangly डेटा यह के साथ काम करने की कोशिश कर रहा है के रूप में व्यवहार इसके साथ काफी संगत नहीं है कैश की गई है में चलाने को छोड़ दें। इस समस्या को दूर करने के लिए सबसे अच्छा तरीका क्या है। वर्तमान में मुझे उपयोगकर्ताओं को को एक नई रिलीज के लिए अपने ब्राउज़र के कैश को साफ़ करने के लिए बताना है, लेकिन यह अच्छा होगा उन्हें ऐसा करने की ज़रूरत नहीं है।जीडब्ल्यूटी ऐप
उत्तर
डिफ़ॉल्ट रूप से, अपने अनुप्रयोग के थोक ब्राउज़र द्वारा कैश किया जाना चाहिए जब तक यह का एक नया संस्करण अपने निर्माण की प्रक्रिया से उत्पन्न होता है।
यह GWT बूटस्ट्रैपिंग मॉडल को समझने के लिए समझने के लिए यह कैसे काम करता मदद कर सकता है।
आपकी क्लाइंट अनुरोध, your-app-name.nocache.js
की पहली स्क्रिप्ट कैश नहीं है, और यह ब्राउज़र के उपयोगकर्ता एजेंट और क्षमताओं को छोड़कर कुछ भी नहीं करता है, और प्रासंगिक ऐप जेएस के लिए दूसरा अनुरोध करता है।
इस बिंदु पर, स्क्रिप्ट यह अनुरोध करता है ब्राउज़र द्वारा संचित किया जा चाहिए, अगर यह पहले से अनुरोध किया गया है। यह {indistinguisable-numbers-and-letters}.cache.html
फ़ाइल है।
आप अपने अनुप्रयोग पुनर्वितरित करते हैं, nocache.js
फ़ाइल निष्पादित किया जाएगा और सर्वर है, जो पहले से ही कैश में मौजूद नहीं होगा से एक अलग cache.html
फ़ाइल के लिए पूछना है, लेकिन जो एक बार इसे डाउनलोड किया जाता है ब्राउज़र द्वारा इसे साफ़ कर दिया।
आप कुछ भी अपने सर्वर पर, या के साथ बंधन टाल कैशिंग हेडर के साथ असामान्य कर रहे हैं? यह संभावित रूप से कैश प्राप्त करने के लिए आपकी nocache.js
फ़ाइल का कारण बन सकता है, जो ब्राउज़र कैश से पुराने cache.html
s का अनुरोध करेगा।
संभव समाधान जिस तरह से आप अपने आवेदन की मेजबानी कर रहे हैं पर निर्भर करता है।
:http://seewah.blogspot.com/2009/02/gwt-tips-2-nocachejs-getting-cached-in.html
यहाँ tadedon पुस्तकालय से उपयुक्त फ़िल्टर कर रहे हैं: आप सीधे सर्वलेट कंटेनर से होस्ट कर रहे हैं, तो आप यहाँ वर्णित एक की तरह सर्वलेट फिल्टर का उपयोग कर सकते
और यहां guice ServletModule है जो उन्हें पूरे guice वेब अनुप्रयोग के लिए सक्षम बनाता है:
यदि आप टोमकैट के सामने कुछ रिवर्स प्रॉक्सी का उपयोग कर रहे हैं तो यह भी आसान होगा। अपाचे के मामले में (उदा। Mod_proxy, mod_jk), और यह मानते हुए कि सभी एप्लिकेशन संसाधन (एचटीएमएल, ग्राफिक्स, जावा स्क्रिप्ट, सीएसएस, इत्यादि।"परफेक्ट कैशिंग" खंड में
http://code.google.com/webtoolkit/doc/latest/DevGuideCompilingAndDebugging.html
:) अपाचे पर डाल रहे हैं, बस अपाचे विन्यास में ये विकल्प सेट:
<Files *.nocache.*>
ExpiresDefault "access"
</Files>
<Files *.cache.*>
ExpiresDefault "now plus 1 year"
</Files>
यह यहाँ वर्णित है। इस तरह के परिनियोजन परिदृश्य मानते हैं कि केवल आरपीसी अनुरोधों को रिवर्स प्रॉक्सी से टॉमकैट में जाना चाहिए। अगर कुछ कारणों से सभी एप्लिकेशन संदर्भ टॉमकैट से जुड़े हुए हैं तो आप अभी भी Files
निर्देश के बजाय अपाचे के LocationMatch
निर्देश का उपयोग कर सकते हैं।
- 1. एक जीडब्ल्यूटी ऐप
- 2. जीडब्ल्यूटी और Google ऐप इंजन
- 3. पाइथन ऐप इंजन पर जीडब्ल्यूटी
- 4. जीडब्ल्यूटी -
- 5. जीडब्ल्यूटी
- 6. जीडब्ल्यूटी
- 7. जीडब्ल्यूटी
- 8. जीडब्ल्यूटी
- 9. जीडब्ल्यूटी
- 10. जीडब्ल्यूटी
- 11. जीडब्ल्यूटी
- 12. जीडब्ल्यूटी: जीडब्ल्यूटी फ्लोपेनल
- 13. जीडब्ल्यूटी
- 14. जीडब्ल्यूटी
- 15. जीडब्ल्यूटी
- 16. जीडब्ल्यूटी
- 17. जीडब्ल्यूटी
- 18. जीडब्ल्यूटी
- 19. जीडब्ल्यूटी
- 20. जीडब्ल्यूटी
- 21. जीडब्ल्यूटी
- 22. जीडब्ल्यूटी
- 23. जीडब्ल्यूटी
- 24. जीडब्ल्यूटी
- 25. जीडब्ल्यूटी
- 26. जीडब्ल्यूटी
- 27. जीडब्ल्यूटी
- 28. जीडब्ल्यूटी
- 29. जीडब्ल्यूटी
- 30. जीडब्ल्यूटी
जेसन, ऐसा लगता है कि यह ब्राउज़र में कैश किए जाने पर आपके-ऐप-name.nocache.js का दुष्प्रभाव है। शाहिद को अपने सर्वर को केवल * .cache.js को कैश करने और * .nocache.js को कैश करने के लिए कॉन्फ़िगर करना है। आपके द्वारा उल्लेखित सब कुछ के अलावा स्वचालित रूप से गिरना चाहिए। –
@ जेसन-हॉल किसी भी विचार को आपके ऐप-name.nocache.js के माध्यम से लोड की गई स्क्रिप्ट के यूआरएल में कुछ हैश इंजेक्ट करने के तरीके पर कोई विचार है? मेरे मामले में आपका-ऐप-name.nocache.js कैशिंग के बिना सही ढंग से लोड किया गया है, लेकिन इसके परिणामस्वरूप लोड की गई स्क्रिप्ट, अभी भी कैश से हैं। मैं हर निर्माण पर एक हैश उत्पन्न करना चाहता हूं और इसे यूआरएल में जोड़ना चाहता हूं ... – Mabedan