#define DEBUG

条件编译,很适合进行一些发布前的调试工作。在工程的属性里进行相关的定义。DEBUG默认是一个可选项,当然,除了DEBUG外,还可以自定义其他的一些符号(定义太多好象也用不到)。

生成工程的时候,如果选择DEBUG模式,就会定义DEBUG符号,在程序代码中,执行DEBUG符号有效范围内的代码。非常方便进行调试。

从开始学会就一直在用,可是这段时间,在学习IHttpHandler接口的时候,却遇到了#define DEBUG的问题,百思不得其解,问过一些人,也不知道,先记下来:

创建自定义 HelloWorldHandler HTTP 处理程序类

  1. 如果要使用的网站还没有 App_Code 文件夹,请在该站点的根目录下创建这样一个文件夹。

  2. 在 App_Code 目录中,创建一个名为 HelloWorldHandler 的类,并将下面的代码添加到类文件中。

using System.Web;
public class HelloWorldHandler : IHttpHandler
{
    public HelloWorldHandler()
    {
    }
    public void ProcessRequest(HttpContext context)
    {
        HttpRequest Request = context.Request;
        HttpResponse Response = context.Response;
        // This handler is called whenever a file ending
        // in .sample is requested. A file with that extension
        // does not need to exist.
        Response.Write("<html>");
        Response.Write("<body>");
        Response.Write("<h1>Hello from a synchronous custom HTTP handler.</h1>");
        Response.Write("</body>");
        Response.Write("</html>");
    }
    public bool IsReusable
    {
        // To enable pooling, return true here.
        // This keeps the handler in memory.
        get { return false; }
    }
}

然后配置好IIS,一切顺利。在我后来的修改过程中,如果上面的主体结构没改,代码基本上都改了。我还加入了#define DEBUG,麻烦了,不管工程怎么设置,

DEBUG都处于没有定义状态,可是同一工程里的其他.cs文件如果有#define DEBUG,DEBUG又是处于定义壮态。真是奇怪!

转载于:https://www.cnblogs.com/ishare/archive/2009/03/18/1415424.html

C#中的#define DEBUG疑问相关推荐

  1. VS中使用define和undef实现条件编译(csc.exe条件编译)

    在C和C++中常有用到宏定义#define,在C#中也这个关键字,不过功能不同了,C#中是作为条件编译的条件. #define XXX 是定义XXX为条件编译的条件,相当于将XXX设为true. #u ...

  2. 每日一题(12)—— .h头文件中ifndef/define/endif的作用

     .h头文件中ifndef/define/endif的作用? 分析: 防止头文件被重复包含. #ifndef _TEST_H_ #define _TEST_H_/* test.h */#endif / ...

  3. 永中科技破产清算的疑问(二)

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } -->      永中 ...

  4. oracle数据库variable,oracle中的define,declare,variable的差别

    当前位置:我的异常网» 数据库 » oracle中的define,declare,variable的差别 oracle中的define,declare,variable的差别 www.myexcept ...

  5. VS.Net中程序集的Debug版本和Release版本的区别

    作者:未知   请作者速与本人联系 前几天看到豆腐的文章介绍如何知道程序集是Debug版还是Release版,之前只知道某些软件从功能上有企业版.标准版之分,却从不知道.Net程序集还有Debug和R ...

  6. Xcode中release和debug模式

    本人对Xcode中的release模式和debug模式很是疑惑,于是今天对其进行的调研,写下笔记以备查阅 Debug是调试版本,包含调试信息,并且不做任何优化,便于程序猿进行调试. Release 是 ...

  7. keil中使用软件debug功能查看printf输出结果

    这是一条用处不大,但可能会用到的记录 参考连接:Keil Debug(printf) Viewer的使用 在纯软件仿真中,要想看到打印的debug信息,可以使用printf函数,但是需要用到函数重定向 ...

  8. javascript中的define用法

    文章目录 1. AMD的由来 2. AMD是什么 3. AMD实例:如何定义一个模块 4. 匿名模块 5. 仅有一个参数的define 6. Dojo中的AMD 7. 结论 最近由于工作需求只能快速学 ...

  9. c语言中 d的用法,C语言中的#define用法总结

    1.宏定义 格式: #define   标识符(也称为宏名)   替换列表 例如; #define PI 3.14 以上代码就是定义了一个宏.  宏的名称为PI, 我们在使用的时候,会在编译预处理时, ...

  10. c语言求n个数的最小值博客,C语言中的#define宏定义 求一组数的最大值和最小值(转)...

    C语言有很多预编译关键字,如#if.#include.#else--,所有以#开头的的关键字都属于这一类,此处讨论#define关键字 #define的核心就是"替换" 如#def ...

最新文章

  1. 海思下载uboot,内核,文件系统
  2. python面向对象代码示例
  3. 小学生python-用Python实现小学生四则运算
  4. C++ Primer 5th笔记(chap 18 大型程序工具)未命名的命名空间unnamed namespace
  5. java代码轻量级锁_Java轻量级锁原理详解(Lightweight Locking)
  6. echarts自定义图例legend文字和样式
  7. Centos6.9下RocketMQ3.4.6高可用集群部署记录(双主双从+Nameserver+Console)
  8. 聚类系数与小世界网络
  9. 关于MySQL中出现相对应引用词报错“ambiguous”的问题
  10. mysql 子链接_MySQL多表查询实例详解【链接查询、子查询等】
  11. python汇率兑换_汇率兑换—python第一课
  12. 1987年,国际C语言混乱代码大赛
  13. 安卓pdf阅读器_推荐一款手机PDF阅读器、编辑器-xodo docs安卓版
  14. Multisim实现极简数码管显示
  15. 天池竞赛-金融风控-task1
  16. 卿学姐与诡异村庄(并查集)
  17. 美业SaaS的创业分享之[销售]:销售和销售管理
  18. bugku 我永远喜欢穹妹
  19. malloc挖掘---动态存储器分配深入了解
  20. 企业做CMMI3级认证,不满足条件可以做吗?

热门文章

  1. 201421410019 杨光裕 实验一
  2. cf319.B. Modulo Sum(dp 鸽巢原理 同余模)
  3. 64位Ubuntu14.04搭建ADT开发环境
  4. FPGA同步复位异步复位
  5. QBackingStore::flush() called with non-exposed window, behavior is undefined
  6. Dojo1.6新特性概览
  7. corrplot包与ggcorrplot相关图(二)
  8. 用人工智能方法计算水果难题------遗传算法篇
  9. MySQL表设计(表的关联关系)
  10. bzoj 2946: [Poi2000]公共串 后缀自动机