2013-05-03 59 views
28

在編譯的時候我可以這樣做在運行時檢查asp.net web應用程序是否處於調試模式的首選方法?

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

但是,什麼是檢查將是首選的檢查debug="false"在運行時在Web.config中設置?

+0

當您使用Visual Studio IDE運行該項目,那麼它會要求修改web.config文件啓用調試。 – 2013-05-03 11:09:04

+0

爲什麼不打開web.config文件並查找它? – 2013-05-03 11:10:24

+0

這個想法是檢查一旦它被釋放,這就是爲什麼運行時檢查很重要。有時我想在生產環境中啓用調試功能以獲取某些操作的詳細日誌,因此如果生產服務器處於調試模式,它會嘔吐兆字節的日誌,但是當我禁用它時,它會執行正常的日誌記錄。我意識到我也可以用log4net級別來做到這一點,但這樣我可以動態創建JS文件並啓用詳細的JavaScript跟蹤消息的Ajax日誌記錄!我不想要ajax請求記錄的東西,只是爲了讓log4net忽略它,因爲水平:) – Nenotlep 2013-05-03 13:30:16

回答

40

在某些情況下,你可能需要HttpContext.Current.IsDebuggingEnabled(有點明顯,但仍然)

+5

今天我需要這樣做。也許這裏的兩個答案應該合併爲一個?如果您處於靜態方法中,則需要使用HttpContext.Current。我不確定HttpContext本身是否有效的情況。 – 2014-10-21 13:25:43

相關問題