网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.ASP.NET中不定级动态菜单的实现.
.asp.NET特写.
.在asp.net 页面中加入skype功能.
.ASP.NET2.0调用MySql的存储过程.
..NET Framework与.NET Framework.
.ASP.NET实现页面间值传递的几种方.
.IIS运行不了ASP.NET的解决办法.
.读取MP3文件的ID3v1信息.
.ASP.NET2.0中使用数据源控件之基.
.ASP.NET 揭秘 ASP.NET页面的结构 .
.ASP.NET生成n位不同的验证码.
.过滤ASP.NET输出HTML中的无用空格.
.ASP.NET应用程序中调用EJB.
.在ASP.NET中创建安全的web站点(.
.ASP.NET 2.0 中的母版页详解.
.微软发布了ASP.NET MVC源代码.
.怎样从ASP.NET 2.0中读取连接字符.
.涉及网络编程时,需要用到的几个常.
.用JS脚本实现CheckBoxList只能选.
.在ASP.NET中跨页面实现多选.

ASP.NET 2.0下的条件编译

发表日期:2006-6-24


在Web开发中测试单个页面的功能实在是太麻烦,从首页用户名、密码进去后,经过一些操作后才可以来到你要测试的那个页面。(其实无论做什么的开发,测试单个功能都是很麻烦)。抱着小心谨慎的态度,我一般喜欢写几段测一次,如果每次都兴师动众的启动整个项目来测试显然是很不经济的做法。

我一般会在Solution中新增一个用于测试用的配置,在其中增加一个“Test"之类的编译指令,然后在代码中,把一些测试条件,测试方法放到这个指令下。在开发团队还没有引进单元测试之类的概念的时候,我可不想用新增一个测试项目这样的方法来做这种事情。而且对于象Web下单个的Page这样的情况我也不知道应该是如何进行法。所以还是用以前自己的编译指令这种方法比较的轻车熟路点。

(我以前在写一些非WEB下的东西的时候,也喜欢把测试方法与类本身写在一个文件里,然后用编译指令区分开,如果要测试,就直接在开发环境下选择"Test"的那个配置,然后启动TestDriven来测试之,不用启动整个项目对机器省力多了,TestDriven这个东西很管用的。
如果你是用C#作开发的,在开发环境中,如果当前这个编译条件不满足的时候,那些代码都会灰掉,而且可以缩进,一点都不障眼)

 

不过我的那些伎俩,在VS2005下有点不管用了,现在WEB开发跟以前有点区别了。在上面找来找去都找不到地方来新增编译指令,非WEB的开发还是可以找到地方新增的。折腾了半天,发现现在把一些设置的东西都放到Web.config里来了,条件编译当然也不例外。

比如现在要加一个”Test”的条件编译指令。在Web.config文件中,在<compilation>这个节下加入下述语句就可以了。

      <compilers>

        <compiler language="vb"

              type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"

              extension=".VB"

              compilerOptions="/define:Debug=True /define:Trace=True /define:Test=True "/>

        <compiler language="c#"

            type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"

            extension=".cs"

            compilerOptions="/d:DEBUG;TRACE;Test"/>

      </compilers>

 

很要命的,对每一种语言都要加一个<compiler>,当然如果项目中没用到相应语言,也可以不用理它,可以删掉。一般C#、VB用得比较的多,我只搞了这二种。

Web.config里设置过后就不用在每一个需测试的页面上去定义编译指令了,不过还是没有以前爽,以前直接在IDE工具栏上选择一下配置就行了,现在硬是要写这么多东西,而且主要还是不方便切换。比如我不要在"Test"条件下启动时,我还得跑到Web.config里把上面一段东西注释掉。
按照MSDN的说法,在.Net 2.0下,<compiler>这个element是deprecated的了,我这种做法好象不是正路。

http://lichdr.cnblogs.com/archive/2006/06/23/433964.html

上一篇:.net2.0中使用SqlBulkCopy进行大批量数据迁移 人气:6376
下一篇:关闭按钮点击事件的捕捉 人气:7244
浏览全部ASP.NET 2.0的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐