2013-05-03 6 views
28

Podczas kompilacji mogę zrobić sprawdzenie jakPreferowany sposób sprawdzenia, czy aplikacja WWW asp.net jest w trybie debugowania w czasie wykonywania?

#if DEBUG 
    Log("something"); 
#endif 

Ale co byłoby korzystne, aby sprawdzić, czy debug="false" jest w Web.config podczas wykonywania?

+0

Po uruchomieniu projektu za pomocą Visual Studio IDE, a następnie będzie prosić, aby zmodyfikować plik web.config, aby włączyć debugowanie. –

+0

Dlaczego nie otwierasz pliku web.config i nie szukasz go? –

+0

Chodzi o to, aby sprawdzić po jego wydaniu, dlatego ważne jest sprawdzenie czasu wykonywania. Czasami chcę włączyć debugowanie w produkcji, aby uzyskać szczegółowy dziennik niektórych działań, więc jeśli serwer produkcyjny jest w trybie debugowania, zwymiotuje to w megabajtach dziennika, ale kiedy go wyłączy, wykona normalne logowanie. Zdaję sobie sprawę, że mogę to zrobić również na poziomach log4net, ale w ten sposób mogę dynamicznie tworzyć pliki JS i włączać rejestrowanie szczegółowych komunikatów śledzenia JavaScript w Ajax! NIE chcę zapytania ajax, aby logować coś tylko po to, aby log4net go zignorował ze względu na poziom :) – Nenotlep

Odpowiedz

40

W niektórych przypadkach może być konieczne HttpContext.Current.IsDebuggingEnabled (w pewnym sensie oczywiste, niemniej jednak)

+5

Musiałem to zrobić dzisiaj. Być może te dwie odpowiedzi powinny zostać połączone w jedno? Będziesz musiał użyć HttpContext.Current, jeśli używasz statycznej metody. Nie jestem pewien przypadków, gdy HttpContext jest ważny. –

Powiązane problemy