2013-05-03 23 views
28

Trong thời gian biên dịch tôi có thể làm một tấm séc nhưCách ưa thích để kiểm tra xem ứng dụng web asp.net có đang ở chế độ gỡ lỗi trong thời gian chạy không?

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

Nhưng điều gì sẽ là ưu tiên để kiểm tra xem debug="false" được thiết lập trong Web.config trong thời gian chạy?

+0

Khi bạn chạy dự án sử dụng Visual Studio IDE, sau đó nó sẽ yêu cầu để thay đổi tệp web.config để bật gỡ lỗi. –

+0

Tại sao bạn không mở tệp web.config và tìm kiếm? –

+0

Ý tưởng là để kiểm tra khi nó được phát hành, đó là lý do tại sao kiểm tra thời gian chạy là quan trọng. Đôi khi tôi muốn cho phép gỡ lỗi trong sản xuất để có được nhật ký chi tiết về một số hành động, vì vậy nếu máy chủ sản xuất đang ở chế độ gỡ lỗi, nó sẽ làm hỏng megabyte nhật ký, nhưng khi tôi vô hiệu hóa nó sẽ ghi nhật ký bình thường. Tôi nhận ra rằng tôi có thể làm điều này với các cấp độ log4net, nhưng theo cách này tôi có thể tự động tạo các tệp JS và cho phép ghi nhật ký Ajax các thông điệp theo dõi JavaScript chi tiết quá! Tôi KHÔNG muốn yêu cầu ajax để đăng nhập một cái gì đó chỉ để có log4net bỏ qua nó do mức độ :) – Nenotlep

Trả lời

40

Trong một số trường hợp, bạn có thể cần HttpContext.Current.IsDebuggingEnabled (loại rõ ràng, nhưng dù sao)

+5

Tôi cần làm điều này ngay hôm nay. Có lẽ hai câu trả lời ở đây nên được hợp nhất thành một? Bạn sẽ cần phải sử dụng HttpContext.Current nếu bạn đang ở trong một phương thức tĩnh. Tôi không chắc chắn về các trường hợp khi HttpContext của chính nó là hợp lệ. –

Các vấn đề liên quan