मैं अपने एएसपी.नेट एमवीसी 3 वेब अनुप्रयोग में नई एएसपी.NET बंडलिंग सुविधाओं (System.Web.Optmization 1.0.0-बीटा प्री-रिलीज का उपयोग करके) के साथ मिल रहा हूं।नई एएसपी.नेट बंडलिंग विशेषताएं - मैं एक निश्चित बंडल को प्रोग्रामेटिक रीफ्रेश कैसे कर सकता हूं?
अच्छा काम करता है।
हालांकि, हमारे पास कुछ गतिशील सीएसएस/जेएस डेटाबेस में संग्रहीत है।
मैं इसे अपने मूल बंडल के लिए एक अलग बंडल में जोड़ना चाहता हूं, "डायनामिकबंडल" कहें। मुझे पता है कि यह कैसे करना है, कोई समस्या नहीं।
अब मेरा सवाल यह है कि, जब यह सीएसएस/जेएस डेटाबेस में बदल जाता है, तो उस बंडल को "ताज़ा" करने की आवश्यकता होती है ताकि उन फ़ाइलों की सामग्री को बंडल में दोबारा पढ़ा जा सके।
अनिवार्य रूप से, मुझे उस जादू ग्रिड/स्ट्रिंग को फिर से उत्पन्न करने के लिए ASP.NET की आवश्यकता है जो बंडल यूआरएल में संलग्न है।
आदर्श रूप में, मैं केवल विशिष्ट बंडल रीफ्रेश करना चाहता हूं, न कि संपूर्ण बंडल तालिका।
क्या ऐसा करने का कोई तरीका है?
संपादित करें:
ठीक है दूसरी समस्या, बंडल करने के लिए गतिशील सीएसएस/जे एस जोड़ने का तरीका समझ नहीं सकता। bundle.AddFile
फ़ाइल के लिए वर्चुअल पथ लेता है, लेकिन यह एक भौतिक फ़ाइल नहीं है, यह एक स्ट्रिंग है। मैं यह कैसे करने जा रहा हूँ? निश्चित रूप से मुझे पहले फाइलों में स्ट्रिंग लिखना नहीं है?
संपादित 2: तो मैंने फैसला किया है कि मेरी गतिशील सामग्री को बंडल न करें। 2 कारणों के लिए:
- यह केवल 1 फ़ाइल है, तो मैं किसी भी "बंडलिंग" प्राप्त नहीं कर रहा हूँ लाभ
- बंडलिंग स्थैतिक सामग्री के लिए डिज़ाइन किया गया है, इस
तो नहीं है मैं क्या है किया गया है मैन्युअल रूप से रनटाइम पर मेरे गतिशील सीएसएस/जेएस को छोटा कर दिया गया है (एक बार, फिर कैश किया गया)। कैश को साफ़ करके, मैं इसे आसानी से रीफ्रेश कर सकता हूं।
कहा जा रहा है, यह अभी भी एक प्रासंगिक सवाल (बंडलों ताज़ा) है तो मैं इसे खोलने के लिए छोड़ देंगे ..
एक कस्टम हैंडलर जैसा लगता है जो गतिशील जेएस/सीएसएस को थकाता है आपके लिए बेहतर हो सकता है। इस प्रकार कुछ अन्य इंजन जो रनटाइम काम पर जेएस उत्पन्न करते हैं (उदाहरण के लिए, Ajax.NET Pro यह करता है: http://ajaxpro.codeplex.com/)। आप वैकल्पिक रूप से एक साधारण .aspx पृष्ठ का उपयोग कर सकते हैं जो गतिशील सामग्री देता है, और कैश हेडर को कैश करने के लिए सेट करता है ताकि ग्राहक हर बार अनुरोध कर सके। – nothingisnecessary