03 2011 档案

摘要:Log4日志组件的应用确实简单实用,在比较了企业库和Log4的日志功能后,个人觉得Log4的功能更加强大点.补充说明下,我使用的企业库是2.0版本,Log4net是1.2.1版本的.在Log4net的应用上,已经有人做了说明分析了,在本文中,主要解析下Log4net中的RollingFileAppender的应用.主要参考了Log4net的帮助文档.在项目中的log4net-1.2.10\doc文件下有.RollingFileAppender主要是基于FileAppender构建的,很多属性方法都是继承于FileAppender,所以在选项设置上,也有许多是相同的.下面的例子使日志文件名为lo 阅读全文
posted @ 2011-03-25 15:59 逆时针 阅读(416) 评论(0) 推荐(0) 编辑
摘要:文章引用至:http://blog.csdn.net/lyjcn/archive/2009/08/11/4432833.aspx1. log4net简介log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。Java平台下,它还有一个姐妹组件——log4j。log4net的下载地址:http://logging.apache.org/log4net/download.html2. log4net的组成log4net主要由五部分组成,分别为Appenders、Filters、Layouts、Logg 阅读全文
posted @ 2011-03-25 15:25 逆时针 阅读(258) 评论(0) 推荐(0) 编辑
摘要:摘 要:在《csdn开发高手》2004年第03期中的《化功大法——将DLL嵌入EXE》一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资源中释放出来,通过静态加载延迟实现DLL函数的动态加载,程序退出后实现临时文件的自动删除,从而为解决“DLL Hell”提供了一种解决方案。这是一个很好的设计思想,而且该作者也用C++实现了,在Internet上也有相似的VB程序,但在某一技术论坛上提起这种设计方法时,有网友提出:“这种方法好是好,但就是启动速度太慢”。这是因为程序启动时实现DLL释放,然后再加载释放出来的DLL,这个过程会耗费一定的时间。鉴于此问题,经 阅读全文
posted @ 2011-03-14 16:45 逆时针 阅读(296) 评论(0) 推荐(0) 编辑
摘要:_cdecl 是C Declaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不需要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。 _stdcall 是Standard Call的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针。这些堆栈中的参数由被调用的函数在返回后清除,使用的指令是 retn X,X表示参数占用的字节数,CPU在ret之后自动弹出X个字节的堆栈空间。称为自动清栈。函数在编译的时候就必须确定参数个 阅读全文
posted @ 2011-03-14 16:01 逆时针 阅读(1610) 评论(0) 推荐(0) 编辑
摘要:DLL可以使用两种方法将公共符号导入到应用程序中或从DLL导出函数: 生成DLL时使用模块定义(.DEF)文件。在主应用程序的函数定义中使用__declspec(dllimport)或__declspec(dllexport)关键字。使用.DEF文件模块定义(.DEF)文件是包含一个或多个描述各种DLL属性的Module语句的文本文件。如果不使用__declspec(dllimport)或__declspec(dllexport)导出DLL函数,则DLL需要.DEF文件。可以使用.DEF文件导入到应用程序中或从DLL导出。使用__declspec32位版的VisualC++用__declspe 阅读全文
posted @ 2011-03-14 15:59 逆时针 阅读(460) 评论(0) 推荐(0) 编辑
摘要:1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出; 2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出; 3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题; 4.System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。 阅读全文
posted @ 2011-03-11 22:40 逆时针 阅读(308) 评论(0) 推荐(1) 编辑
摘要:System.Net.IPHostEntry ips = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());foreach (System.Net.IPAddress ip in ips.AddressList){ Console.WriteLine(ip.ToString());} 阅读全文
posted @ 2011-03-11 22:23 逆时针 阅读(2160) 评论(0) 推荐(0) 编辑