Uygulamamın belirli bölümlerinin hızını kontrol etmek için MVC Mini profiler kullanıyorum ve daha sonra bir şey olması durumunda orada kalmasını istiyorum ve "neyin yanlış gittiğini" kontrol etmem gerekebilir. Tam bir günlük kümesi değil, ancak bir sayfanın ne kadar uzun sürdüğünü öğrenmek oldukça kullanışlı.Miniprofiler nasıl saklanır?
Bu nedenle, amacım gizlemek ve yalnızca isteğin belirli bir parametreyle gelmesi durumunda bu profile sahip olmaktır. Ancak, benim girişimlerimin hiçbiri beklediğim şekilde işe yaramadı.
Bu ekranda (bir görünümde kodu) o görünmeyen hile yapmış:
@if (Request.QueryString.AllKeys.Contains("showProfiler"))
{
@MvcMiniProfiler.MiniProfiler.RenderIncludes()
}
Bu yakınlaştı girişimdir. Mini profiler bilgisini doğru olarak gizler, ancak gösterdiğim anda, göstermeyi bıraktığımdan beri her şeyi profiller. Yani, sayfamı görüntülediğimi ve 3 saniye sürdüğünü varsayalım. Sorgu parametresini kaldırırım ve sayfayı üç kez daha yüklerim. Parametreyi tekrar ekledim ve 4 set profil bilgisi görüyorum. Bu, her şeyin kaydını tuttuğunu ve bellek sorunları verebilirse merak ettiğimi ima eder.
girişimleri artık olmayacak emin olmak için:
Denemesi 1:
protected void Application_BeginRequest()
{
if (Request.QueryString.AllKeys.Contains("showProfiler"))
{
MiniProfiler.Start();
}
}
Denemesi 2:
protected void Application_EndRequest()
{
MiniProfiler.Stop(!Request.QueryString.AllKeys.Contains("showProfiler"));
}
Denemesi 3:
Bunların hiçbiri işe yaramadı. Herhangi bir fikir?
girişimi 1, gayet iyi çalışmalıdır. –