2013年10月31日

在C#代码中应用Log4Net(五)将Log4Net正确地封装在自己的类库中并进行调用

摘要: 前面的几篇文章已经比较完整地解释了怎么使用Log4Net,但是我们可能需要将Log4Net的日志类封装在自己的类库中,以便C/S或B/S程序进行调用。下面的示例程序简单地分为两层,一个是应用程序层WebApplication_testLog4Net,另一个就是公用类库Common。1、首先,我们还是在类库中先添加Log4net的引用2、直接在类库Common中的AssemblyInfo.cs中添加Log4Net的配置文件地址。3、log4net.config还是放在应用程序那层(如左图),以便正确地输出到应用程序的输出目录。如果放在类库层的话,它就会输出到类库的生成目录,而Log4Net只会到 阅读全文

posted @ 2013-10-31 16:49 风雨潜行 阅读(285) 评论(0) 推荐(0) 编辑

在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常

摘要: 竟人不是神,谁写的程序都会有bug,有了bug不可怕,可怕的是出错了,你却不知道错误在哪里。所以我们需要将应用程序中抛出的所有异常都记录起来,不然出了错,找问题就能要了你的命。下面我们主要讨论的是如何捕捉全局的异常。基本上在winform或web中捕获全局异常的思路都是一样的,在全局的应用程序对象中添加异常捕获的代码,并写入日志文件中。一.在Winform程序中捕获全局异常在winfrom中我们需要了解Application对象中的两个事件①Application.ThreadException 事件--在发生未捕获UI线程异常时发生。②AppDomain.UnhandledException 阅读全文

posted @ 2013-10-31 16:45 风雨潜行 阅读(696) 评论(0) 推荐(0) 编辑

在C#代码中应用Log4Net(三)Log4Net中配置文件的解释

摘要: 一个完整的配置文件的例子如下所示,这个是”在C#代码中应用Log4Net(二)”中使用的配置文件。 先不分析上面这段配置信息是什么意思。我们先来回想一下我们的日志类通常用来做什么,假设我们有一个库存管理系统,分为两大模块,一个是出库,一个是入库。我们可能想要出库的相关信息保存在某一个文件夹里面,入库的信息存在另一个文件夹里面。这样,我们... 阅读全文

posted @ 2013-10-31 09:35 风雨潜行 阅读(246) 评论(0) 推荐(0) 编辑

在C#代码中应用Log4Net(二)典型的使用方式

摘要: 不管用什么框架,学什么东西,最初的想法还不是尽快地用上这个框架,所以我们在这个章节还是不打算介绍具体配置节的应用,而是直接给出一个经典的使用样例,让你尽快上手。即使你对Log4Net的配置不熟悉也完全没有关系。(下面的文章假定你已经看过了第一篇,当然在有的操作中,我还是会简单地重复第一篇,以便加深你的记忆)先说说这篇教程的思路,我们打算使用Log4Net,首先必须先引入Log4Net的库;然后我们要对Log4Net进行一些配置;最后,我们会在代码里面使用它。1、引入Log4Net.dll组件→见第一篇2、自定义Log4Net配置文件的引入与第一篇不同的是,我们将不再App.config或Web 阅读全文

posted @ 2013-10-31 09:31 风雨潜行 阅读(195) 评论(0) 推荐(0) 编辑

在C#代码中应用Log4Net(一)简单使用Log4Net

摘要: 首先让我们先把Log4Net跑起来,示例代码在文章最后面可以下载1、先把Log4Net引入到工程中,为了演示方便,我们先建立一个winform程序。在程序的根目录下面,建立一个Libs文件夹,以便存放Log4Net的DLL文件。 2、进行一些简单的配置,先不讲配置文件的作用,大家照我写的输入。下面代码库的内容是在App.config文件中输入的,如果大家没有App.config文件,可以通过在解决方案中,添加新建项→应用程序配置文件,进行添加。 %n - %m%n"/> ... 阅读全文

posted @ 2013-10-31 09:11 风雨潜行 阅读(287) 评论(0) 推荐(0) 编辑

2013年10月21日

C# BackgroundWorker详解,图例,原理分析

摘要: 先声明,大部分资料均参考网上,进行了整理。1. 在 VS 中添加了 BackgroundWorker 组件, 该组件在多线程编程方面使用起来非常 方便,然而在开始时由于没有搞清楚它的使用机制, 走了不少的弯路,现在把我 在使用它的过程中的经验与诸位分享一下。 BackgroundWorker 类中主要用到的有这列属性、方法和事件: 重要属性:1、CancellationPending 获取一个值,指示应用程序是否已 请求取消后台操作。 通过在 DoWork 事件中判断 CancellationPending 属性可以 认定是否需要取消后台操作(也就是结束线程);2、IsBusy 获取一个值,指 阅读全文

posted @ 2013-10-21 23:24 风雨潜行 阅读(5378) 评论(0) 推荐(0) 编辑

2013年9月25日

C#中Abstract和Virtual

摘要: 在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。 一、Virtual方法(虚方法) 1.关键字用于修饰"方法"、"属性"、"索引器"或"事件声明",并使它们可以在派生类中被重写 2.修饰符不能与 s 阅读全文

posted @ 2013-09-25 16:29 风雨潜行 阅读(218) 评论(0) 推荐(0) 编辑

2013年8月5日

T-SQL查询语句(三):多表查询

摘要: SQL查询语句《三》:多表查询 (也叫连接查询,此处为基于两个表的连接查询)如果一个查询需要对多个表进行操作就称为连接查询,连接查询的结果集或结果称为表之间的连接.连接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征.select 表1.字段名1,表2.字段名2,...from 表1,表2where 连接条件SQL-92标准所定义的FROM子句的连接语法格式为:FROM 表名 join_type 表名 [ON (连接条件)]连接操作中的ON (连接条件) 子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。连接查询分类:1.自连接查询,对同一 阅读全文

posted @ 2013-08-05 11:17 风雨潜行 阅读(713) 评论(0) 推荐(0) 编辑

T-SQL查询语句(二):嵌套查询

摘要: 一个select...From...Where查询语句块可以嵌套在另一个select...From...Where查询块的Where子句中,称为嵌套查询。外层查询称为父查询,主查询。内层查询称为子查询,从查询。子查询可以嵌套多层,子查询查询到的结果又成为父查询的条件。子查询中不能有order by分组语句。先处理子查询,再处理父查询。----------------------------1。 简单嵌套查询 查询选修课程号为'101'并且成绩高于学生号为'9501101'的所有学生的成绩.select * from sclasswhere cno='10 阅读全文

posted @ 2013-08-05 11:09 风雨潜行 阅读(451) 评论(0) 推荐(0) 编辑

T_SQL查询语句(一): 单表查询

摘要: ############################################ 查询语句--SELECT ############################################查询select: 1。单表查询 2。多表查询 3。嵌套查询 分类 1)单表查询 2)多表查询 A.连接查询 B.子查询 ①一般子查询 ②相关子查询*************************************** SQL查询语句《一》:单表查询1.查询全部记录:select * from table_name2.查询指定字段记录:select 字段列表 fro... 阅读全文

posted @ 2013-08-05 11:06 风雨潜行 阅读(347) 评论(0) 推荐(0) 编辑

导航