随笔分类 -  C#

摘要:微软RFID开发服务平台技术简介 RFID介绍RFID作为世界先进的无线射频识别技术,为越来越多行业所重视。RF代表是射频技术,以无线电波为载体来传播数据;ID则代表标识编码,能够用足够长的位数来实现对单个产品的全球唯一标识。因此RFID技术可用于全球数据交换,并可贯穿产品的整个生命周期。随着标签价格的飞速降低,RFID的商机一触即发。据Gartner预测,全球RFID产值2005年已达5.04亿美元,预计到2010年将达到30亿美元。在中国,以政府为主导,以闭环应用为主体的商业应用日益广泛,例如高速公路,停车场,保真,防伪,票务,身份证,文件管理等众多领域率先采用了该技术。许多RFID的应用 阅读全文
posted @ 2011-05-09 11:09 董雨 阅读(432) 评论(0) 推荐(0) 编辑
摘要:http://honordream.blog.hexun.com/2858506_d.html同步套接字通信Socket支持下的网上点对点的通信服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据的功能服务器端建立一个socket,设置好本机的ip和监听的端口与socket进行绑定,开始监听连接请求,当接收到连接请求后,发送确认,同客户端建立连接,开始与客户端进行通信。客户端建立一个socket,设置好服务器端的IP和提供服务的端口,发出连接请求,接收到服务的确认后,尽力连接,开始与服务器进行通信。服务器端和客户端的连接及它们之间的数据传送均采用同步方式。 SocketSo 阅读全文
posted @ 2011-04-17 00:50 董雨 阅读(374) 评论(0) 推荐(0) 编辑
摘要:1.服务器强制断开导致客户端断开办法一:捕获接到的数据,如果是0,判断服务器已经断开,关闭socket,进行重新连接。办法二:SOCKET一直就有这个问题,服务端断开以后,相信你的客户端的CPU一直处于100%,因为再不停的无限循环的接受一个0字节包 解决办法就是发送心跳包,或者每收到一个包,就发送一个0字节包,断开了的话就会异常。其实主要的问题是服务端如果是强制断开,也就是物理断开或者直接结束了进程这种断开,客户端是接收不到断开请求的,也就是说这个时候的客户端并不认为断开了,而且客户端还在不停的接受一个0字节的数据包,无限循环,所以还会导致客户端的CPU一直处于100%的状态 这个问题我之前 阅读全文
posted @ 2011-04-14 16:18 董雨 阅读(4971) 评论(3) 推荐(0) 编辑
摘要:Visual C# 资源文件编程--创建资源文件资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密、安全的效果。那么VisualC#所使用的资源文件中到底存放哪些东西呢?在用VisualC#创建资源文件大致可以存放三种类型的数据资源,分别是字节数组、各种对象和字符串。本文将结合一个程序例子来具体说明用VisualC#是如何创建资源文件的。 一.用Visual C#在创建资源文件用到的一些概念和理论: 在.Net Fram 阅读全文
posted @ 2011-04-14 12:50 董雨 阅读(585) 评论(0) 推荐(0) 编辑
摘要:AspectSharp- Aspect# (pronunced as AspectSharp) is a free AOP ( Aspect OrientedProgramming ) framework for the .NET Framework, it uses Dynamic Proxiesand XML configuration files as basis.See all Open Source Aspect-Oriented Frameworks in C#Open Source Bloggers in C# tBlogger - tBlogger provides a com 阅读全文
posted @ 2011-04-14 12:46 董雨 阅读(306) 评论(0) 推荐(0) 编辑
摘要:在网上有很多人问到settings文件存放的位置,本人看了一些文章都没有给出明确的答案,所以让我们一起来追踪settings 文件到底存放在什么位置,它是否存在加密保护。 settings 为设置文件,其功能类似于app.config 文件,但相比app.config settings 结构相对简单,它只有名称、类型、范围、值四个属性,并且不能更改结构(当然是在一般情况下,如要修改结构可以通过其它的方式) 我们都知道app.config 文件在生成或debug后都会保存在相对的目录下\应用文件名.exe.config(窗口程序) 问题来了,项目中的 pro.settings 编译后却找不到对应 阅读全文
posted @ 2011-04-14 12:40 董雨 阅读(312) 评论(0) 推荐(0) 编辑
摘要:我们的目标:在这次的系列文章中,我们通过一些小例子,来循序渐进的学习VSTO for excel这个已经出现很久的技术,在平常的使用时,我很少发现比较全面或者具体的文章作介绍,当然,除了MSDN。在我的博客开始这个系列,一为了巩固自己的相关技术知识,二也是为了和大家一起交流分享自己的技术心得和体会,希望能够获得更多宝贵的经验!这个系列第一期大致有如下文章:Getting Start(Add-In级别)简单的UI设计(Robbin)批量操作(附带一个qq联系人导出例子,Add-In级别)J丰富的自定义UI交互(Add-In级别)部署Add-In组件到客户端第二期将根据第一期的情况做灵活修改和调整 阅读全文
posted @ 2011-04-01 14:04 董雨 阅读(444) 评论(0) 推荐(0) 编辑
摘要:最近,工作特别忙,一直没空子来写Blog,这不,忙里偷闲,顺手写了个文件加解密的小程序,本来公司市场部的同事出去带着合同,怕弄丢了,所以让我们开发个小程序,用于加密合同文件,到客户那里解密打开,然后签订合同,最后加密,带回公司保存。时间不充裕,也就一上午时间吧,下午就要去签合同了,嘿嘿,于是我亲自试验了一把,下面和大家分享一下吧。首先,这是个winform的程序,部署在市场部同事的笔记本上面,基于.Net 2.0做的,它的功能大致如下:加密合同文档(*.doc)在客户处解密此合同文档,进行编辑,再次加密回到公司可以通过密码打开它由于时间关系,只是很粗略的做了个大概。打开vs2008,建立一个w 阅读全文
posted @ 2011-04-01 10:18 董雨 阅读(472) 评论(0) 推荐(0) 编辑
摘要:http://archive.cnblogs.com/a/1743707/前段时间,经常使用C#调用控制台程序,便写了一个通用的方法,起初可以正常工作,直到遇到控制台程序输出内容较多时,发现控制台程序无法自动终止(任务管理器中始终有这个控制台进程,cpu使用率0),查阅msdn,才知道原来出现了死锁现象。下面是最初的代码: /// <summary> /// common method to execute tool /// </summary> /// <param name="toolFile">tool's path< 阅读全文
posted @ 2011-03-31 10:59 董雨 阅读(2367) 评论(0) 推荐(1) 编辑
摘要:c#检测网络连接问题我没有看到好的方法,都是通过与外网(或者局域网服务器)传递信息检测的。我看些下下来了代码: private void button1_Click(object sender, EventArgs e) { string ip; ip = "10.1.148.1"; // string ip = "192.192.132.229"; // string strRst = CmdPing(ip); // MessageBox.Show(strRst); string str = CmdPingh(ip); MessageBox.Show( 阅读全文
posted @ 2011-03-31 10:52 董雨 阅读(413) 评论(0) 推荐(0) 编辑
摘要:http://apps.hi.baidu.com/share/detail/21583689MS的CMD命令行是一种重要的操作界面,一些在C#中不那么方便完成的功能,在CMD中几个简单的命令或许就可以轻松搞定,如果能在C#中能完成CMD窗口的功能,那一定可以使我们的程序简便不少。下面介绍一种常用的在C#程序中调用CMD.exe程序,并且不显示命令行窗口界面,来完成CMD中各种功能的简单方法。如下所示:System.Diagnosties.Process p=new System.Diagnosties.Process();p.StartInfo.FileName="cmd.exe&q 阅读全文
posted @ 2011-03-30 22:55 董雨 阅读(747) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/know/archive/2011/03/19/1989093.htmlhttp://www.cnblogs.com/hxworm/articles/1993082.html做WinForm开发的朋友,应该都有这种感觉:vs自带的控件倒是不少,但美观的却很少 ——于是网上就有一些开源、收费或免费的不错的控件,像皮肤等控件库DotNetBar、饼状图控件pieChart(此控件的使用,可查看之前的一篇文章:WinForm"立体饼状图实现(附源码示例)" 之配餐系统的开发)....,(在之前的几篇介绍配餐系统开发的文章里,我主要是对 阅读全文
posted @ 2011-03-30 22:46 董雨 阅读(234) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/shuncy/archive/2008/11/07/1328738.htmlDundas公司与ms chart关系 Dundas-十多年来,Dundas DataVisualization公司在适用于微软技术的先进数据可视化解决方案中一直领先于其它公司。2009年微软收购了Dundas公司,并将Dundas的图表产品集成了一部分功能到Visual Studio 2008和Visual Studio 2010之中。Dundas Chart for .NET介绍Dundas Chart for .NET是一款功能强大的图表控件,已被众多知名企业认可。它 阅读全文
posted @ 2011-03-21 10:20 董雨 阅读(825) 评论(4) 推荐(0) 编辑
摘要:http://shuncy.cnblogs.com/本来在考虑是否继续写图表控件的使用文章,毕竟,微软自带的例子已经非常详细了,花点时间参考一下基本上可以了解用法和使用特性,不过后来想想,还是写一下咯,抽出其中大家关心的内容,写出其中常用的使用方法,可以省去大家的时间,在需要深入的时候再去详细查看例子,也当是学习笔记吧:)(BTW:我也是边学习边写的,因此,写的文章中难免有不足或失误的地方,希望各位朋友指正出来咯,大家一起提高~本文中基本上只会写出最简单常用的功能,复杂的数据操作请参考微软详细的例程)一.数据源 说到绘制图表,可能很多人的第一反应除了是图表呈现的方式外,更关心的便是数据如何添加 阅读全文
posted @ 2011-03-21 10:16 董雨 阅读(325) 评论(0) 推荐(0) 编辑
摘要:http://www.yesky.com/331/215831.shtml注:本文中出现的代码均在.net Framework RC3环境中运行通过 一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。多线程是指程序中包含多个 阅读全文
posted @ 2011-03-10 09:43 董雨 阅读(204) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/cuipengfei1/archive/2011/03/06/6227119.aspx前几天推荐一个同事用“可选参数”,推荐完了我还画蛇添足的说这是.Net 4中的新特性。但是事后才发现这个新特性是C#4.0的语言特性,与.Net4无关。其实也不只这一次,我平时也经常把语言、框架、运行时,有时甚至还有开发工具混为一谈。于是今天就总结一下C#中我感兴趣的几个语言特性是从何而来的。1.可选参数可选参数是C# 4.0中的新特性,其作用在于在调用者不提供参数值时给参数一个默认值,用起来是这样的:static void Main(string[] args){ 阅读全文
posted @ 2011-03-10 08:59 董雨 阅读(263) 评论(0) 推荐(0) 编辑
摘要:C# 插件构架实战(Jack H Hansen ) http://www.cnblogs.com/wayfarer/articles/28537.html 一、引言1. 问题的引入假设你设计的程序已经部署到用户的计算机上,并且能够正常运行了。但是有一天,用户打来了电话——他们要求增加新的功能。确定了用户的需求后,你竟然发现原有的软件架构已经无法胜任新增任务的需求——你需要重新设计这个应用了!但问题是,就算你又用了一个开发周期完成了用户需要的应用,却不能保证用户的需求不会再次变更。也就是说,需求蔓延的可能性依然存在。因此,这种情况下插件构架更能显示出它的优越性。2. 几个解决方案的对比我总结了一 阅读全文
posted @ 2011-03-02 11:38 董雨 阅读(293) 评论(0) 推荐(1) 编辑
摘要:之前一直想学学插件编程,主要的原因是感到现在的客户需求变化不定,如果把全部功能整合在一个执行文件中的话,修改,升级起来很不方便,所以想采用插件编程的方式,只需要构建好了程序框架之后,每完成一个功能,就可以让用户审核一个,化整为零,让开发团队和客户都能构掌握项目开发的进度.同时大家通过这种方式,增强对项目按时完成的信心.以下资料主要是从hahablog中获得的,从网上找了很多类似的资料,只有这个我觉得是比较适合初学者//1 定义插件接口,将其编译成 dll,例如:using System;namespace PluginInterface{public interface IShow{strin 阅读全文
posted @ 2011-03-02 11:34 董雨 阅读(926) 评论(0) 推荐(0) 编辑
摘要:AutoResetEvent类:该类的作用是通知正在等待的线程已发生的事件。该类存在于mscorlib.DLL中。在.Net Framework2.0中,该类是继承自EventWaitHalder,AutoResetEvent在功效上等同于EventResetModel.AutoReset创建的EventWaitHandle。下面我们反编译该类的代码,下边为该类得构造函数的代码:Code1[ComVisible(true),HostProtection(SecurityAction.LinkDemand,Synchronization=true,ExternalThreading=true)] 阅读全文
posted @ 2011-02-25 15:38 董雨 阅读(315) 评论(0) 推荐(0) 编辑
摘要:AutoResetEvent与ManualResetEvent区别新一篇: AutoResetEvent详解在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到,他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处于发送状态时,该线程会得到信号,继续向下执行。其区别就在调用后,AutoResetEvent.WaitOne()每次只允许一 阅读全文
posted @ 2011-02-25 15:36 董雨 阅读(539) 评论(0) 推荐(0) 编辑