为什么#if debug在服务器上不起作用

时间:2012-11-16 15:02:03

标签: .net web-services

我有

 #if debug then
 #end if
输出事件查看器日志的Web服务中的

语句。这在本地测试时工作正常。如果我构建一个调试版本,然后将文件复制到实时服务器并重新循环Web服务的应用程序池,我在事件查看器中看不到这些日志。有什么理由不行吗?

2 个答案:

答案 0 :(得分:0)

您需要先注册您的事件日志源。这需要管理员权限。 我使用一个简单的控制台应用程序(类似this)来注册我在Web应用程序和服务中使用的事件日志源。

答案 1 :(得分:0)

<compilation debug="true" /> 定义DEBUG预处理程序标志。您需要修改system.codedom配置才能执行此操作。默认的Visual Studio模板附带预定义标志(项目设置&gt;构建,“定义DEBUG常量”和“定义TRACE常量”),这就是它们在您在Visual Studio中编译的项目中工作的原因。

改为使用HttpContext.IsDebuggingEnabled