2010-12-23 14 views
7

ऐप_थीम फ़ोल्डर में स्टाइलशीट ब्राउज़र में कैश हो जाता है। दृष्टिकोण क्या होना चाहिए? ताकि जब भी कोई नई तैनाती हो, ब्राउज़र को नवीनतम स्टाइलशीट लेनी चाहिए और ब्राउजर में कैश नहीं किया जाना चाहिए।ऐप_थीम फ़ोल्डर में सीएसएस ब्राउज़र में कैश किया जाता है

इस के रूप में लिंक

http://blog.sallarp.com/asp-net-automatic-css-javascript-versioning/

यह कैसे विषय फ़ोल्डर में सीएसएस के लिए किया जा सकता है में उल्लेख किया है (जो विषय फ़ोल्डर में नहीं हैं) अन्य सीएसएस के लिए हो रहा था भी, तो इस्तेमाल किया कस्टम नियंत्रण ?

संपादित करें: विषय का नाम नीचे दिए गए अनुसार web.config में उल्लिखित है। इसलिए यह सिर्फ HTML लिंक टैग नहीं है जिसे मैंने लिंक में उल्लिखित विधि का उपयोग करके हल किया था।

<pages styleSheetTheme="Default"> 
     <controls> 

     </controls> 
    </pages> 

उत्तर

4

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

कहना mycss-V1.0.css, जो आपके उपयोगकर्ता के वेब ब्राउज़र सीएसएस फिर से लोड करने के लिए बाध्य करेगा सीएसएस फ़ाइल का नाम बदलें

0

एक प्राप्त पैरामीटर के रूप में के रूप में समय स्टाम्प भेज हो सकता है कुंआ।

ईजी:

http://mysite.com/theme/dir/style.css?id=24033957203712

जहां 24033957203712 समय स्टाम्प है।

+0

यह सीएसएस के लिए है जो app_theme फ़ोल्डर के अंदर हैं। थीम नाम केवल web.config में उल्लिखित हो जाता है। – dhinesh

+0

@ दिनेशेश मुझे आपको उचित उत्तर खोजने के लिए कुछ और जानकारी चाहिए – nivanka

+0

प्रश्न संपादित करें। – dhinesh

4

वेब एप्लिकेशन को तैनात करते समय थीम पथ में संस्करण संख्या शामिल करें। उदाहरण के लिए, App_Themes/Default/v1.2.0.4321/, जहां v1.2.0.4321 संस्करण 1.2.0.4321 के लिए तैनाती पर जोड़ा गया फ़ोल्डर है। यह थीम नाम (उदा।, "डिफ़ॉल्ट") और फ़ाइल नाम दोनों को संरक्षित करता है, जो स्रोत कोड नियंत्रण और पथ संदर्भों को अधिक आसान बनाता है। ASP.NET सबफ़ोल्डर के बावजूद वर्तमान थीम फ़ोल्डर में सभी सीएसएस फ़ाइलों को लोड करता है। यह न केवल सीएसएस फ़ाइलों का संदर्भ देने में समस्या हल करता है, लेकिन सीएसएस फाइलों (उदा।, पृष्ठभूमि-छवि) के भीतर से संदर्भित छवियों को संदर्भित करता है।

इसके अतिरिक्त, App_Themes के लिए ब्राउज़र कैश अवधि में सुधार को बेहतर बनाने के लिए प्रदर्शन को बेहतर बनाने के लिए हो सकती है, जबकि अगली बार जब वेब एप्लिकेशन अपडेट किया जाता है, तो सभी थीम फ़ाइलों को अपडेट किया जाएगा।

इसे वेब के <configuration> अनुभाग में जोड़ें। कॉनफिग को 120 दिनों के लिए ब्राउज़र कैश रखने के लिए।

<location path="App_Themes"> 
    <system.webServer> 
     <staticContent> 
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="120.00:00:00" /> 
     </staticContent> 
    </system.webServer> 
</location> 
0

ब्राउज़र कैश समाप्ति समय प्रतिक्रिया शीर्ष लेख या ब्राउज़र सेटिंग में सेट पर आधारित है।

समय जब हम सीएसएस की तैनाती और उन्हें तुरंत उपयोगकर्ता के लिए पुश करने के लिए इच्छा कर रहे हैं, लेकिन संस्करण सीएसएस फ़ाइल एएसपी फ़ाइल (जैसे style.css?v2 के रूप में) से संदर्भित के रूप में करने में असमर्थ हैं।

इन मामलों में, हम एएसपीएक्स फ़ाइल के मुख्य भाग में अकेले विशेष सीएसएस फ़ाइल में बदली/नई शैली कक्षाओं को जोड़ सकते हैं। यह कोई स्टाइल ओवरराइड नहीं बनाएगा और समस्या को ठीक करेगा।

संबंधित मुद्दे