2013-02-07 2 views
4

나는 masterpage를 사용하는 간단한 웹 폼 애플리케이션을 가지고있다.세션에 대해서만 미니 프로파일 러를 사용하는 쉬운 방법은 무엇입니까?

미니 프로파일 러를 작동시키는 방법에 대한 지침을 따랐습니다. 나는 모든 통계를 OK. 이제는 그것을 토글하는 법을 모르겠습니다.

나는 쿼리 문자열을 사용하여 생각과 Application_BeginRequest을 찾아 - 그것은 Application_AcquireRequestState와 정적 변수를 사용하는 경우 그냥 프로파일 러에게 전체 세션을 사용 .... OK- 세션이 그 단계에서로드되지 않으면 여러 번로드하고 프로파일 러가 가끔 작동하지 않는 경우가 있는데 왜 그런지 모르겠습니다.

내가 지금 가지고있는 간단한 방법입니다.

protected void Application_BeginRequest(object sender, EventArgs e) 
     { 
      MiniProfiler profiler = null; 

      if (Request.QueryString["p"] != null) 
      { 

       profiler = MiniProfiler.Start(); 

       using (profiler.Step("Application_BeginRequest")) 
       { 
       } 
      } 


     } 

그래서 확인을 작동 할 수 있지만 각 요청에 쿼리 PARAM를 추가해야합니다. 안좋다. 나는 결코 전에 global.asax을 사용하지 않았다. 그래서 나는 그것이 모두 아래로 어떻게 작동하는지 100 % 확실하지 않다.

미리 정의 된 시간 동안 변수를 설정할 수있는 가장 좋은 방법은 무엇입니까? 그래서 프로파일 러가 항상 비밀리에 켜면로드됩니다. 내 문제

protected void Application_BeginRequest(object sender, EventArgs e) 
     { 
      MiniProfiler profiler = null; 
      if (Request.Cookies["profiler"] != null) 
      { 
       profiler = MiniProfiler.Start(); 

       using (profiler.Step("Application_BeginRequest")) 
       { 
       } 
      } 

     } 

답변

4

당신이 MiniProfiler.MVC3 패키지를 통해 MiniProfiler를 추가 한 경우에


편집 및 솔루션, 그때 그것을 구성하는 사용자의 편의를 위해 C#을 파일을 추가로 찾고, App_Start\MiniProfiler.cs 보면 특히 Init에 프로파일 링 시작 여부를 결정하는 코드가 있습니다 (request.IsLocal이 기본값 임)

귀하의 경우, 시작의 쿠키를 확인하시기 바랍니다. 조건을 확인하고 상태에서보다 완벽한 "개발자인가, 아니면 특별한 쿠키에 대해 듣는 사람인가"를 확인하십시오. 특히 MiniProfiler.Stop(false)으로 전화하면 모든 데이터가 삭제됩니다. 쿠키를 설정하여 "악의적 인 방식으로 사용"하고 "미리 정의 된 시간"을 모두 쿠키를 통해 저렴하게 얻을 수 있습니다. "개발자"입니다. 쿠키를 설정하면 악용 될 수 없습니다.

+0

안녕하세요,'nuget'을 사용했으며 참조 라이브러리를 추가했습니다. 하지만 쿠키는 생각하지 않았습니다! 예 - 그게 효과가 있었고 이제는 내가 통제 할 수 있습니다. 고맙습니다! – ppumkin

관련 문제