मैं अपने आवेदन के विशिष्ट हिस्सों की गति की जांच करने के लिए एमवीसी मिनी प्रोफाइलर का उपयोग कर रहा हूं, और अगर कुछ देर बाद होता है तो मुझे इसे वहां रखना चाहूंगा और मुझे "क्या गलत हो रहा है" की जांच करने की आवश्यकता हो सकती है। यह एक पूर्ण लॉग सेट नहीं है, लेकिन यह जानने में आसान है कि पेज को कितना समय लगता है।miniprofiler कैसे छिपाना है?
तो, मेरा लक्ष्य इसे छिपाना है और यह केवल तभी प्रोफ़ाइल है जब अनुरोध एक विशिष्ट पैरामीटर के साथ आता है। हालांकि, मेरे प्रयासों में से कोई भी जिस तरह से मैं उम्मीद करता हूं उसमें काम नहीं किया है।
इस स्क्रीन पर उसका प्रदर्शन नहीं (एक दृश्य में कोड) की चाल किया है:
@if (Request.QueryString.AllKeys.Contains("showProfiler"))
{
@MvcMiniProfiler.MiniProfiler.RenderIncludes()
}
यह प्रयास है कि करीब हो गया है। सही रूप से मिनी प्रोफाइलर जानकारी को छुपाता है, लेकिन फिलहाल मैं इसे दिखाता हूं, यह सब कुछ प्रोफाइल करता है क्योंकि मैंने इसे दिखाना बंद कर दिया है। तो, मान लीजिए कि मैं अपना पेज प्रोफाइल करता हूं और इसमें 3 सेकंड लगते हैं। मैं क्वेरी पैरामीटर को हटाता हूं और पृष्ठ को तीन बार लोड करता हूं। मैं अपना पैरामीटर दोबारा जोड़ता हूं और मुझे प्रोफाइल जानकारी के 4 सेट दिखाई देते हैं। इसका तात्पर्य है कि यह सबकुछ का ट्रैक रखता है और मुझे आश्चर्य है कि अगर स्मृति समस्याएं हो सकती हैं।
प्रयास करने के लिए है कि अब और नहीं:
प्रयास 1:
protected void Application_BeginRequest()
{
if (Request.QueryString.AllKeys.Contains("showProfiler"))
{
MiniProfiler.Start();
}
}
प्रयास 2:
protected void Application_EndRequest()
{
MiniProfiler.Stop(!Request.QueryString.AllKeys.Contains("showProfiler"));
}
प्रयास 3:
protected void Application_EndRequest()
{
MiniProfiler.Stop(true);
}
इनमें से कोई भी काम नहीं किया। कोई विचार?
प्रयास 1 ऊपर दिए गए नमूने के साथ संयुक्त प्रयास, केवल ठीक काम करना चाहिए। –