随笔分类 -  C#

致力于WinForm方式的项目编程
摘要:Log4Net详解 (2) 结构篇1、Logger1.1、Logger接口 Logger用来产生日志消息。产生的日志消息要预先经过Layout的格式化处理后才会输出。 Logger提供了多种方式来记录一个日志消息,可以在应用程序里创建多个Logger,每个实例化的Logger对象都被log4net框架作为命名实体(named entity)来维护。这意味着为了重用Logger对象,不必将它在不同的类或对象间传递,只需要用它的名字做参数调用就可以了。 log4net框架使用继承体系,继承体系类似于.NET中的名字空间。即,若有两个logger,分别被定义为a.b.c和a.b,那么我们说a.... 阅读全文
posted @ 2013-04-01 16:18 liyuzhao 阅读(1133) 评论(0) 推荐(0) 编辑
摘要:Log4Net详解 (1) 简单应用1、安装Log4Net下载地址http://logging.apache.org/log4net/download.html下载文件log4net-1.2.11-bin-newkey.zip在项目中引用\bin\net\4.0\release\log4net.dll2、Log4Net结构Logger(记录器)Repository(库)Appender(附着器)Layout(布局)3、配置Log4Netlog4net框架会在相对于AppDomain.CurrentDomain.BaseDirectory 属性定义的目录路径下查找配置文件。框架在配置文件里要查找 阅读全文
posted @ 2013-04-01 14:44 liyuzhao 阅读(882) 评论(1) 推荐(0) 编辑
摘要:Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Windows服务并使用它。案例:启动一个服务在启动和停止时,向一个文本文件中写入一些文字信息。第一步:创建服务框架 要创建一个新的 Windows 服务,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击“确定”。 你可以看到,向导向工程文件中增加WebService1.cs类: 主要使用到的属性含意: ... 阅读全文
posted @ 2012-12-26 11:44 liyuzhao 阅读(349) 评论(0) 推荐(0) 编辑
摘要:1. 启动外部程序,不等待其退出。2. 启动外部程序,等待其退出。3. 启动外部程序,无限等待其退出。4. 启动外部程序,通过事件监视其退出。// using System.Diagnostics;private string appName = "calc.exe";/// <summary>/// 1. 启动外部程序,不等待其退出/// </summary>private void button1_Click(object sender, EventArgs e){ Process.Start(appName); MessageBox.Show( 阅读全文
posted @ 2012-12-25 17:03 liyuzhao 阅读(6704) 评论(2) 推荐(2) 编辑
摘要:多线程程序的开发,启动了多个线程的程序在关闭的时候却出现了问题,如果程序退出的时候不关闭线程,那么线程就会一直的存在,但是大多启动的线程都是局部 变量,不能一一的关闭,如果调用Thread.CurrentThread.Abort()方法关闭主线程的话,就会出现 ThreadAbortException 异常,因此这样不行。解决办法办法:Thread.IsBackground 设置线程为后台线程。msdn对前台线程和后台线程的解释:托管线程或者是后台线程,或者是前台线程。后台线程不会使托管执行环境处于活动状态,除此之外,后台线程与前台线程是一样的。一旦所有前台线程在托管进程(其中 .exe .. 阅读全文
posted @ 2012-12-25 14:06 liyuzhao 阅读(908) 评论(1) 推荐(0) 编辑
摘要:在一般的C/S系统中,登录功能基本上是必备功能,总结了三种C# Winform登录功能的实现方法。第一种:在应用程序设置代码里(Program.cs)将应用程序入口改成系统主窗口听起来有点绕,就是说,在应用程序初始化时,第一个加载的页面是我们登录后的主页面。1、在Program.cs文件中设置Application.Run: Application.Run(new FormMain());//设置应用程序运行时加载的窗口2、添加登录按钮事件private void button1_Click(object sender, EventArgs e)代码 private void bu... 阅读全文
posted @ 2012-11-06 09:51 liyuzhao 阅读(2634) 评论(2) 推荐(0) 编辑
摘要:使用var的一些好处 :1. 它有利于更好地为本地变量命名。2. 它有利于设计更好的API。3. 它促使对变量进行初始化。4. 它消除了代码的混乱。5. 它不需要using指示符。 阅读全文
posted @ 2012-08-29 13:35 liyuzhao 阅读(845) 评论(0) 推荐(1) 编辑
摘要:/// <summary>/// MD5加密/// </summary>/// <param name="source"></param>/// <returns></returns>public static string EncryptByMd5(string source){ return FormsAuthentication.HashPasswordForStoringInConfigFile(source, "MD5");}/// <summary>/// D 阅读全文
posted @ 2012-08-10 10:19 liyuzhao 阅读(1252) 评论(2) 推荐(0) 编辑
摘要:/// <summary>/// 截断字符串/// </summary>/// <param name="source">源字符串</param>/// <param name="length">截取长度</param>/// <param name="isAddEllipsis">结尾是否带有省略号(省略号占用2个长度)</param>/// <returns></returns>public static str 阅读全文
posted @ 2012-08-10 10:07 liyuzhao 阅读(599) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示