自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

健身 软件开发 讲师 作者

  • 博客(18)
  • 资源 (15)
  • 收藏
  • 关注

原创 lock vs Monitor vs Mutex之间的区别

Consider this code:lock(myGuard){ // do some stuff that is being synchronized}the C# compiler generates the following code for youMonitor.Enter(myGuard);try{ // do some stuff that is being synch

2010-03-23 15:54:00 2151

原创 WPF中未捕获异常之处理

异常有两类,一类是主线程异常,另一类是工作线程异常。 一:主线程的未捕获异常处理起来比较简单1:首先在APP.XAML中定义一个DispatcherUnhandledException事件,如<Application x:Class="CET.ExamViewer.App" xmlns="http://schemas.microsoft.com/winfx/2006/

2010-03-19 11:00:00 7871 7

原创 多线程BUG捕捉之:匿名函数带来的问题

     最近有一个隐藏的BUG,是因为使用匿名函数导致的。     要重现该BUG,可以先查看如下两个程序。     第一个:    class Program    {        static void Main(string[] args)        {            for (int i = 0; i             {                D

2010-03-16 18:15:00 2133 1

原创 多线程BUG捕捉之:由于其他线程拥有此对象,因此调用线程无法对其进行访问

      以下论述只适用于WPF和WCF场合。      在进行WCF通信的时候,有时候会出现“由于其他线程拥有此对象,因此调用线程无法对其进行访问”。如下面的这段代码就可能会出现这个错误:      EndpointAddress tcpAddress = new EndpointAddress(new Uri(_wcfServiceUri), identity, headers)

2010-03-16 18:09:00 5158 1

原创 多线程BUG捕捉之:非网络原因导致的WCF连接超时

     最近在用WPF、WCF做全双工通信,由于某一天晚上比较累了,所以未遵循少量重构的原则,重构了几大段自己认为没有问题的代码,并且,重构完毕仅编译通过,未进行测试。结果代码到了第二天运行的时候出现了问题:     发送到 net.tcp://192.168.0.96:9999/HelloWCFService 的请求操作在配置的超时(00:00:04.9979999)内未收到回复。分配

2010-03-16 07:32:00 4991 1

原创 C#老生常谈之const与static readonly只区别

1:const在编译期间赋值,static readonly在运行期间赋值。2:第二点对程序员来说才是最重要的,const只可修饰基础型别,在修饰类的时候,只可赋值为null。而static readonly无此限制。

2010-03-14 17:27:00 651

原创 C#老生常谈之访问修饰符

     很奇怪的一点是,网上搜索了一些访问修饰符的资料,居然有些是错误的。现归纳如下:类的访问修饰符(非内部内)private: 不可用protected: 不可用protected internal: 不可用internal:  限定与本Assembly内public: 无限制默认:=internal 类成员的访问修饰符private: 限定于本类protected: 限定与派

2010-03-14 17:23:00 721

原创 使用类来代替enum

enum的缺点在于1:无状态说明。如果要使用状态属性,还需要加上属性值。见http://blog.csdn.net/luminji/archive/2009/02/19/3912239.aspx。2:无法进行型别检查。 现通过如下的方法可以用class来代替enumclass ClientInfo { public static readonly C

2010-03-10 17:00:00 1358

原创 使用数字证书技术来保证WCF传输中的数据加密

最近团队内研究了WCF的传输及安全,同时打算应用到实际系统中去。涉及到实际使用,就必须要考虑数据传输的安全通道和数据的加解密。故本示例完成:1:客户端和服务器双向通信;2:客户端和服务器端双向验证对方的数字证书;3:信息传输使用数字证书加密。 源码下载地址:http://download.csdn.net/source/2113588

2010-03-10 14:31:00 3986

原创 C#大文件传输之SOCKET同步、异步、WCF同步、异步

当前的项目,正好急需要在C#下实现高效率的文件传输,故,写了如下DEMO对此进行了比较。该示例,整合了C#文件传输中的SOCKET同步、异步、WCF同步、异步,并分别提供了进度条,以便查看各类传输的效率(SOCKET同步>SOCKET异步>WCF同步>WCF异步)。运行的时候,需要自己在运行目录下添加一个可供传输的文件。可查看源码获取该文件名。 源码下载地址:http://download

2010-03-10 14:17:00 7312 4

原创 silverlight的MD5、对称加解密及字符串、文件HASH

silverlight直到发展到SL3,个人感觉加解密这块做的还是有点弱。这是项目中当前用到的MD5、对称加解密及字符串、文件HASH的DEMO。 源码下载地址:http://download.csdn.net/source/2113491

2010-03-10 14:14:00 2032

原创 在C#中实现ObservableDictionary

       在当前的.NET FRAMEWORK中是没有实现了INotifyCollectionChanged和INotifyPropertyChanged的字典集合的,这直接导致了WPF或者SILVERLIGHT中的LISTVIEW等控件不能动态显示集合中的更新。故,我们需要自己实现一个ObservableDictionary。        代码下载地址:http://download.

2010-03-09 15:59:00 4165

原创 WPF跨线程访问线程安全的数据(如解决:该类型的CollectionView不支持从调度程序线程以外的线程对其SourceCollection)

典型应用场景:WPF页面程序中,ListView的ItemsSource是一个ObservableCollection;操作:另起一个线程,为ListView动态更新数据,也就是给ObservableCollection添加记录。这类操作,就是跨线程访问线程安全的数据,如果不使用Dispatcher,就会导致出错“该类型的CollectionView不支持从调度程序线程以外的线程对其Sourc

2010-03-07 13:05:00 21124 10

原创 WPF中ListView绑定Dictionary,顺带提右键菜单和checkbox

Dictionary需要指定的Value是一个Object,如Student类。ListView需要支持右键菜单。每个条目要有Checkbox表示是否选中。 给出前台代码:<Page x:Class="CET.ExamViewer.PageControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres

2010-03-04 11:24:00 8105

转载 WCF中同步和异步通讯总结

      我这样分个类: WCF中, 以同步、异步角度考虑通讯的方式分为四种:跨进程同步、跨进程异步、发送队列端同步、发送队列端异步。之所以造成这样的结果源于两个因素,一个是传统概念上的同异步,一个是对于WCF方法自定义属性OperationContract中IsOneWay是True还是False的选择。    记住下面的结论:    1:IsOneWay配置为False    当一个WC

2010-03-02 11:44:00 2736 3

转载 多线程服务器的适用场合

陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Feb 28这篇文章原本是前一篇博客《多线程服务器的常用编程模型》(以下简称《常用模型》)计划中的一节,今天终于写完了。“服务器开发”包罗万象,本文所指的“服务器开发”的含义请见《常用模型》一文,一句话形容是:跑在多核机器上的 Linux 用户态的没有用户界面的长期运行的网络应用

2010-03-02 09:07:00 618

转载 多线程服务器的常用编程模型

多线程服务器的常用编程模型  陈硕 (giantchen_AT_gmail)Blog.csdn.net/Solstice2009 Feb 12 建议阅读本文 PDF 版下载: http://files.cppblog.com/Solstice/multithreaded_server.pdf 本文主要讲我个人在多线程开发方面的一些粗浅经验。总结了一两种常用的线程

2010-03-02 08:07:00 950

转载 Silverlight Navigation(多页面切换、传值)

导航.简单的理解可以是从一个页面跳转到另外一个页面。在传统的ASP.NET网站中这种效果很容易实现。而在Silverlight中我们也同样可以,我们有两种方法来实现这个效果。   第一个选择是使用代码更改页面视图(修改容器Content属性),移除/添加User Control来实现导航,这个方法比较简单、直接代码量也很少。并且在这个过程中还可以加入动画、变形等效果。   第二个选择就是使用Sil

2010-03-01 14:51:00 4940 1

C#特性Attribute的实际应用之:代码统计分析

日常工作中,需要为程序集提供统计分析: 1:程序集方法数; 2:开发人员数目及各自所开发或REVIEW的方法数; 3:测试中,被标注有BUG的数目; 4:直接查看方法的IL代码; 鉴于以上统计的需要,特开发本EXE。

2010-12-29

C#特性Attribute的实际应用之:为应用程序提供多个版本

基于如下的几个理由,需要为应用程序提供多个版本: 1:应用程序有体验版和完整功能版; 2:应用程序测试过程中需要完成一些自动化的操作;

2010-11-29

C#借助Code UI Automation实现黑盒自动化测试工具

1:使用Code UI Automation来录制手工操作UI的动作,让VS根据这些操作自动生成测试代码; 2:新建WINFORM项目(也即黑盒工具),在这个WINFORM项目调用这些自动生成的代码;

2010-11-17

C#自动化测试工具编写(借助API)

在日常编码过程中,我们常常会进行自动化测试。这里的自动化测试不是指单元测试,而是模拟人工输入来进行快速的、高并发的测试。可以使用的自动化工具有LOADRUNNER,以及目前在VS2010中的功能很强大的测试工作平台(录制操作步骤,自动生成代码)。但是,这些工具的熟练掌握也有一定的时间成本,并且,最主要的,对于一个程序员来说,那不够灵活。所以,比较高效的一个做法是,调用WINDOWS API,自己动手写编码来实现。

2010-10-30

高并发操作SQLSERVER的解决方案

将所有的请求全部压入一个队列中。服务器监控队列,如果队列中有请求,则处理请求。如下面的代码中,服务器就起了100个线程来监控队列,如果队列中有请求,则插入数据库。在实际的应用中,服务器监控程序也可以起到分发请求的作用,当一台服务器处理不了所有请求的时候,服务器监控程序可以将请求分发给集群中的其它服务器。这样一来,理论上,当请求饱和的时候,只要增加服务器数量,就会处理所有的请求

2010-08-19

对称加解密及文件HASH

对称加解密及文件HASH工具类,采用DES加密算法

2010-06-12

C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密

1:调用.NET2.0的MAKECERT创建含有私钥的数字证书,并存储到个人证书区; 2:将该证书导出为pfx文件,并为其指定一个用来打开pfx文件的password; 3:读取pfx文件,导出pfx中公钥和私钥; 4:用pfx证书中的公钥进行数据的加密,用私钥进行数据的解密; 详细请看:http://blog.csdn.net/luminji/archive/2009/03/05/3960308.aspx

2010-06-10

使用zipsharp进行文件夹压缩及解压

使用zipsharp进行文件夹压缩及解压.

2010-06-09

remoting宿主到IIS中

remoting寄宿到IIS中,有些特别的优势,如: 1:可以借助于IIS的安全机制; 2:在硬件环境不允许的情况下,和IIS共用端口。 本程序,服务器采用IIS,客户端为一个console,演示了remoting如果宿主到IIS中。详细请看http://blog.csdn.net/luminji/archive/2010/05/25/5622381.aspx

2010-05-25

使用证书进行加密传输的WCF

没有进行加密的数据传输几乎没有任何意义,本示例就是通过认证证书签名的方式对WCF传输的数据进行加密和认证。详细请看:http://blog.csdn.net/luminji/archive/2010/03/10/5364876.aspx

2010-03-10

C#大文件传输之SOCKET同步、异步、WCF同步、异步

该示例,整合了C#文件传输中的SOCKET同步、异步、WCF同步、异步,并分别提供了进度条,以便查看各类传输的效率(SOCKET同步>SOCKET异步>WCF同步>WCF异步)。 运行的时候,需要自己添加一个可供传输的文件。可查看源码获取该文件名。 详细请看http://blog.csdn.net/luminji/archive/2010/03/10/5364825.aspx

2010-03-10

silverlight的MD5、对称加密及HASH

silverlight直到发展到SL3,个人感觉加解密这块做的还是有点弱。这是项目中当前用到的MD5,文件及字符串HASH,对称加解密的DEMO。 详细请看http://blog.csdn.net/luminji/archive/2010/03/10/5364812.aspx

2010-03-10

在C#中实现ObservableDictionary

在当前的.NET FRAMEWORK中试没有实现了INotifyCollectionChanged和INotifyPropertyChanged的字典集合,这直接导致了WPF或者SILVERLIGHT中的LISTVIEW等控件不能动态显示集合中的更新。本资源就是实现了这些功能的一个ObservableDictionary。 详细请看http://blog.csdn.net/luminji/archive/2010/03/09/5360888.aspx

2010-03-09

Silverlight通过WebService上传大文件(含进度条)

1:服务器端采用webservice; 2:SilverLight端可同时选择多个文件; 3:显示每个文件的上传进度; 4:采用SilverLight3 详细说明:http://blog.csdn.net/luminji/archive/2009/12/11/4987539.aspx

2009-12-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除