我有一個只能在調試模式下運行的代碼。使用HttpContext.Current.IsDebuggingEnabled或#if DEBUG更好嗎?
使用HttpContext.Current.IsDebuggingEnabled還是「#if DEBUG ... #endif」更好?
感謝,
我有一個只能在調試模式下運行的代碼。使用HttpContext.Current.IsDebuggingEnabled或#if DEBUG更好嗎?
使用HttpContext.Current.IsDebuggingEnabled還是「#if DEBUG ... #endif」更好?
感謝,
如果調試代碼,絕對不應該被編譯到釋放組件,那麼最好使用#if
風格(或考慮使用conditional methods)。
當使用#if DEBUG
塊(或條件的方法),該代碼將不被如果構建不是Debug
構建即DEBUG
編譯符號沒有被定義編譯到您的組件。
預處理器指令(#if DEBUG ...
)的優點是調試代碼不會使它到生產環境中,所以它是執行零可能性(假設你有有效的配置管理程序!)
這些是2完全不同的東西!
HttpContext.Current.IsDebuggingEnabled
是關係到當前的web.config設置
debug=true
其中
#if DEBUG ... #endif
是關係到項目配置調試/發佈在構建時設置
要小心!