2013-05-16 2 views
1

У меня есть ServiceStack службы с вызовом службы, как так:ServiceStack Профиль Шаги не оказывающие

public class MyService : Service 
    { 
     public object Get(MyServiceRequest request) 
     { 
      using (Profiler.Current.Step("Getting Data")) 
      { 
       // code that gets data 

       using (Profiler.Current.Step("Doing work with data")) 
       { 
        // code that does work 
       } 
      } 
      return response; 
     }   
    } 

и через Global.asax.cs как так:

public class Global : System.Web.HttpApplication 
{ 

    protected void Application_Start(object sender, EventArgs e) 
    { 
     new AppHost().Init(); 
    } 

    protected void Application_BeginRequest(object sender, EventArgs e) 
    { 
     if (Request.IsLocal) 
      Profiler.Start(); 
    } 

    protected void Application_EndRequest(object sender, EventArgs e) 
    { 
     Profiler.Stop(); 
    }  
} 

Моя проблема заключается в том, что, когда я проверить вызов службы через браузер, я вижу только информацию профиля для общего запроса. «показать время с детьми» и «показать тривиальную» не предоставляют более подробной информации. Я также поставил точки останова в каждом заявлении using, чтобы посмотреть Profiler.Current и заметил, что в каждом случае его свойство Children равно null. Я делаю это неправильно? Являются ли они чем-то другим, что я могу сделать для устранения этого?

+0

Вызывается ли ваша служба через запрос AJAX? Если вы нажимаете Ctrl-F5 на странице браузера, вы получаете более подробную информацию? – paaschpa

ответ

1

По какой-то причине параметр level в Profile.Info в методе Step решает мою проблему. Это странно, потому что Profile.Info по умолчанию, если аргумент не указан. Ну что ж. Двигаемся дальше.

Смежные вопросы