.net - मैं एक हार्ड रीफ्रेश कैसे कर सकता हूं(ctrl+F5)?




asp.net-mvc http (5)

हम नेट और एमवीसी का उपयोग कर सक्रिय रूप से एक वेबसाइट विकसित कर रहे हैं और हमारे परीक्षकों को परीक्षण करने के लिए नवीनतम सामान प्राप्त करने की कोशिश कर रहे हैं। हर बार जब हम स्टाइल शीट या बाहरी जावास्क्रिप्ट फाइलों को संशोधित करते हैं, तो नवीनतम सामग्री देखने के लिए परीक्षकों को हार्ड रीफ्रेश (IE में ctrl + F5) करने की आवश्यकता होती है।

क्या मेरे लिए अपने कैश किए गए संस्करणों पर भरोसा करने के बजाय इन फ़ाइलों का नवीनतम संस्करण प्राप्त करने के लिए अपने ब्राउज़र को मजबूर करना संभव है? हम आईआईएस या किसी भी चीज़ से किसी भी प्रकार की विशेष कैशिंग नहीं कर रहे हैं।

एक बार यह उत्पादन में आने के बाद, ग्राहकों को यह बताना मुश्किल होगा कि नवीनतम परिवर्तन देखने के लिए उन्हें कड़ी मेहनत की आवश्यकता है।

धन्यवाद!


आप जो भी कर सकते हैं वह है कि प्रत्येक बार पृष्ठ रीफ्रेश होने पर अपनी जेएस फ़ाइल को यादृच्छिक स्ट्रिंग के साथ कॉल करें। इस तरह आप सुनिश्चित हैं कि यह हमेशा ताजा है।

आपको बस इसे इस तरह से कॉल करने की आवश्यकता है "/path/to/your/file.js? < Random-number > "

उदाहरण: jquery-min-1.2.6.js? 234266


आप प्रत्येक अनुरोध पर ब्राउज़र को पुन: वैध करने के लिए मजबूर करने के लिए फ़ाइलों के http शीर्षलेखों को संपादित कर सकते हैं


चूंकि आप केवल अपने परीक्षकों की शिकायत करते हैं, क्या आपने उन्हें अपने स्थानीय ब्राउज़र कैश को बंद करने पर विचार किया है, ताकि यह हर बार नई सामग्री के लिए जांच सके? यह उनके ब्राउज़र को एक स्पर्श को धीमा कर देगा ... लेकिन जब तक आप हर समय उपयोगिता परीक्षण नहीं कर रहे हैं, यह शायद फ़ाइल नाम पोस्ट करने, क्वेरीस्ट्रिंग पैराम जोड़ने या हेडर को संशोधित करने से कहीं अधिक आसान है।

यह हमारे परीक्षण वातावरण में 90% मामलों में काम करता है।


बिल्ड नंबर या यादृच्छिक संख्या के बजाय, URL की फ़ाइल की आखिरी संशोधित दिनांक को प्रोग्रामिंग के रूप में क्वेरीस्ट्रिंग के रूप में संलग्न करें। यह किसी भी दुर्घटनाओं को रोक देगा जहां आप मैन्युअल रूप से क्वेरीस्ट्रिंग को संशोधित करना भूल जाते हैं, और ब्राउज़र को फ़ाइल को कैश करने की अनुमति देगा जब यह बदले नहीं है।

उदाहरण आउटपुट इस तरह दिख सकता है:

<script src="../../Scripts/site.js?v=20090503114351" type="text/javascript"></script>

सीएसएस और जावास्क्रिप्ट फ़ाइलों के संदर्भ में, एक संस्करण क्वेरी स्ट्रिंग संलग्न करें। जब भी आप फ़ाइल को अपडेट करते हैं, इसे हर बार टक्कर दें। इसे वेब साइट द्वारा अनदेखा कर दिया जाएगा, लेकिन वेब ब्राउज़र इसे नए संसाधन के रूप में मानेंगे और इसे फिर से लोड करेंगे।

उदाहरण के लिए:

<link href="../../Themes/Plain/style.css?v=1" rel="stylesheet" type="text/css" />
<script src="../../Scripts/site.js?v=1" type="text/javascript"></script>







caching