C#
文章平均质量分 87
钝忆思梦
若有恒,何须三更起半夜眠;最无益,莫过一日曝十日寒。
展开
-
C#获得服务器的信息
以前做了个获取服务器硬件信息的功能,当时随便搜了下,搜到一个例子,在几个机子上都运行了下,一切正常,于是乎就放到项目中去了,不过总感觉别扭,因为用到了系统的API,还得构造枚举。找了找原来C#有封装的好好的,C#提供了ManagementClass类(命名空间System.Management),MSDN官方资料 ,官方的例子可以获得磁盘驱动器模块的方法、属性和限定符。 如下就可原创 2012-10-08 20:42:42 · 5961 阅读 · 0 评论 -
log4net的配置详解
前言:没买到1号回家的票,所以在祖国64岁生日之际,宅在宿舍一天,玩游戏之余把昨天想整理的log4net整理下,于是有了下文。 log4net是一款优秀的第三方日志框架,可以很容易的加载到开发项目中(引用log4net的dll,再配置些基本参数即可),帮助程序员把日志信息输出到各种不同的目标,常见的有文本、数据库、windows日志、邮件、内存缓冲区等目标。 首原创 2013-10-01 22:45:17 · 67948 阅读 · 7 评论 -
C#多线程面面观
前段时间总算过了把面试别人的瘾(虽然只参与了几个电话面试),经过几个星期总算尘埃落定,新人也已报道。项目组当时准备了一些题,用来考察他们的基本功。总的来说大伙都能说出点,唯一空白的是多线程,无一例外的都说没接触过多线程,也不了解多线程。我就感觉很奇怪,两年左右的程序员竟然直接说不了解多线程(我感觉就算是为了换工作也应该突击了解下的,毕竟我们的招聘要求上也是有了解多线程这条的)。为此我决定总结一下平原创 2014-08-10 17:34:35 · 4207 阅读 · 2 评论 -
C#软件license管理(简单软件注册机制)
最近做了一个绿色免安装软件,领导临时要求加个注册机制,不能让现场工程师随意复制。事出突然,只能在现场开发(离开现场软件就不受我们控了)。花了不到两个小时实现了简单的注册机制,稍作整理。基本原理:1.软件一运行就把计算机的CPU、主板、BIOS、MAC地址记录下来,然后加密(key=key1)生成文件;2.注册机将该文件内容MD5加密后再进行一次加密(key=key2)保存成注册文件;3.注册验原创 2014-09-19 15:59:33 · 41076 阅读 · 7 评论 -
C#获得本机物理网卡的MAC地址
今天中午吃饭前看到四月份记录的一个bug,当电脑上插了自己的无线时,软件无法打开的情况,当时也没去解决(客户说拔了无线就好了)。午饭时想了想感觉应该在验证授权时获取MAC地址出错,吃完回来一看代码,果然是有点问题。授权时是根据本地网卡的MAC地址授权的,登录时验证授权时用的无线网卡的MAC地址,所以导致软件打不开。简单搜了下,参考这篇文章,结合msdn上的描述和本机测试,把获得本机物理网卡的MAC原创 2014-07-02 14:54:44 · 11514 阅读 · 6 评论 -
Log4net终结版
继上一篇Log4net的整理已经多时,最近闲时把log4net封装了下,针对一些可能的需求进行了调查,例如多级别日志和多文件日志。1.单文件日志 对于单文件的日志,封装代码如下:public enum LogMessageType{ Debug, Info, Warn, Error, Fatal}public sealed原创 2014-02-27 21:17:54 · 6334 阅读 · 1 评论 -
UI界面多线程简单实现
这些天给我们公司一个七八年的软件进行功能扩展,最大的感觉就是数据量大时界面特卡。打包安装后,运行起来就一直关不掉,得运行完毕才能关,运行时就是用任务管理器关都关不掉。于是想起了一个问题:Winform如何解决界面假死。 一直以来我只知道可以直接用Application.DoEvent()实现。其他的也就想想,估计多线程可以实现,但一直也没去研究。我构思的效果:现在界面在干一件事(原创 2012-02-11 13:47:00 · 2959 阅读 · 1 评论 -
通过委托的实际应用理解委托
一晃已经工作好几个月了,一直想没搞明白委托和事件到底有什么妙用。记得刚开始学习C#时,入门也就一个星期的时间,只是匆匆过了一遍语法。学到委托和事件时,就看了博客园张子阳的委托和事件,认识就停留在网上猫大叫的题目上,一直没用过也就没有体会到什么妙处。后来开始找工作了,再看那篇文章还是似懂非懂,不用又忘了。也许领悟力欠缺了点,直到最近遇到实际应用才稍微有些明朗。 当时对于委托,我不明白原创 2011-11-19 12:33:48 · 2994 阅读 · 1 评论 -
C#获得刚刚插入记录的自增ID
看着别人为了获得新插入记录的自增ID而给表增加一个GUID的字段就揪心,自己能实现是好事(如果不能变更表呢),实现完到网络搜搜别人的解决方案不是更好。@@IDENTITY是我常用的解决方案,代码如下:原创 2014-11-22 09:34:11 · 14202 阅读 · 0 评论