2015-10-15 9 views
8

मैं एएसपी.NET आउटपुट कैश के साथ एक बग फिक्स कर रहा हूं और यह मुझे पागल कर रहा है। हम सर्वर पर कैशिंग चाहते हैं, लेकिन यह काम नहीं करता है (यह कुछ समय पहले हमारे ऐप के पुराने संस्करण में था, लेकिन हमने हाल ही में दुर्घटना से बग की खोज की)।सर्वर पर ASP.NET MVC आउटपुट कैश कैसे सत्यापित करें?

स्थानीय रूप से, मैं सिर्फ सर्वर-पक्ष पर काम करने के लिए कैशिंग नहीं प्राप्त कर सकता। इस विशेषता का उपयोग करना: आईआईएस (स्थानीय होस्ट) में

    • आउटपुट कैशिंग सक्षम है:

      [OutputCache(CacheProfile = "MyProfile", Location = OutputCacheLocation.Server)] // doesn't work 
      

      अब, कुछ चीजें मैं आसपास googling द्वारा पढ़ा है के आधार पर, यहाँ संभवतः प्रासंगिक जानकारी है मैं DO AuthorizeAttribute (विरासत वाला एक कस्टम) का उपयोग करें। मैंने विशेष रूप से इस पर डीबग किया है, और मुझे 9 5% विश्वास है कि यह कारण नहीं है।

    • मैंने विभिन्न VaryByParams मूल्यों के साथ चारों ओर झुकाया है, कुछ भी काम नहीं करता है।
    • कैशिंग कार्य क्लाइंट-साइड करता है।

      perfmon graph

      :

    मैं एक perfmon सत्र खोला और Web Service Cache समूह से कुछ काउंटरों जोड़ दिया है, सभी मुझे लगता है कि वहाँ हैं कैश्ड यूआरएल लेकिन कैश याद है अब हम जिस बड़ी समस्या/बग का सामना कर रहे हैं वह यह है कि आउटपुट कैश अभी पर काम नहीं कर रहा है। हम VaryByParams="" (एक खाली स्ट्रिंग) निर्दिष्ट करके इसे ठीक करने में सक्षम थे। यह क्लाइंट के लिए किया था। लेकिन यह अभी तक सर्वर-साइड काम नहीं करता है।

    मैं वास्तव में जांच कर रहा हूं कि यह कैश किए जाने वाले क्रिया में डीबग ब्रेकपॉइंट रखकर काम करता है या नहीं। यह हर बार हिट हो जाता है, जिसका मतलब है कि कैश हिट नहीं होता है।

  • +0

    मुझे एक समान समस्या थी और यह कैश प्रोफाइल के साथ एक समस्या थी। अगर मैंने कैश प्रोफाइल का उपयोग नहीं किया है और इसके बजाय मूल्यों को सीधे गुणक नियंत्रक में प्लग किया है, तो यह काम करता है। क्या आपने कोशिश की है? – heymega

    +0

    @heymega मैंने कोशिश की, और इससे कोई फर्क नहीं पड़ता। – MarioDS

    +0

    @ मारियोर्ड्स: मैं एक ही समस्या में भाग रहा हूं। क्या आपने इसे हल करने का प्रबंधन किया? – user1107799

    उत्तर

    0

    http://www.asp.net/mvc/overview/older-versions-1/controllers-and-routing/improving-performance-with-output-caching-cs से:

    बात की कोई गारंटी सामग्री समय की राशि आपके द्वारा निर्दिष्ट संचित किया जाएगा कि है। जब स्मृति संसाधन कम हो जाते हैं, तो कैश स्वचालित रूप से सामग्री को बेदखल करना शुरू कर देता है।

    यदि आपके सर्वर पर उपलब्ध स्मृति संसाधन आपके परीक्षण के दौरान पर्याप्त कम हैं, तो कैश तुरंत सामग्री को बेदखल कर देगा। मुझे यकीन है कि यह आपकी सामग्री को कैश में डालने से इंकार कर सकता है।

    +0

    एक कारण प्रदान करने के लिए धन्यवाद, लेकिन यह हमारे मामले में नहीं है। – MarioDS