Welcome 微信登录

首页 / 软件开发 / C#

编写高质量代码改善C#程序的建议:泛型集合、选择集合和集合的安全

编写高质量代码改善C#程序的建议:泛型集合、选择集合和集合的安全

编写高质量代码改善C#程序的建议:泛型集合、选择集合和集合的安全2014-10-05 cnblogs aehyok前言软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点。如何使用好集合是我们在开发过程中必须掌握的技巧。不要小看这些技巧,一旦在开发中使用了错误的集合或针对集合的方法,应用程序将会背离你的预想而运行。本文已更新至http://www.cnblogs.com/aehyok/p/362...
C#如何发送DKIM签名的邮件

C#如何发送DKIM签名的邮件

C#如何发送DKIM签名的邮件2014-10-05DKIM(DomainKeys Identified Mail) 是一个电子邮件验证标准——域名密钥识别邮件标准,邮件系统可据此标准判断邮件是否为垃圾邮件。它的工作原理是生成私钥(private key)/公钥(public key)对,将公钥以TXT记录的形式存放在 DNS 服务器中,发送邮件时选择相应的邮件字段(比如From, To, Subject)通过私钥生成签名信息并附加到...
C#中如何解决生成的缩略图模糊的问题

C#中如何解决生成的缩略图模糊的问题

C#中如何解决生成的缩略图模糊的问题2014-10-05一、问题场景针对一张正方形图片生成 48px × 48px 的缩略图并保存为图片文件,但发现生成的缩略图很模糊。生成的模糊的缩略图如下:原始图片(300px × 300px, png格式):代码中调用的是 System.Drawing.Image. GetThumbnailImage() 方法,主要实现代码如下:private void SaveThumbnail(Bitmap...
C#中如何让工具栏ToolStrip能触发焦点控件

C#中如何让工具栏ToolStrip能触发焦点控件

C#中如何让工具栏ToolStrip能触发焦点控件2014-10-05C#中如何让工具栏ToolStrip能触发焦点控件的Leave、Validating、DataError等事件以验证数据如题,Winform码农大概都知道这样一个问题,就是当输入焦点仍处在TextBox、DataGridViewCell等控件中时,如果单击普通Button、CheckBox等控件,那么该验证的会得到验证,该提交的会提交,该报错的会报错,该被阻止的操作会被阻止。但如果单击的...
C#和.NET中的分布式锁服务

C#和.NET中的分布式锁服务

C#和.NET中的分布式锁服务2014-10-05背景分布式锁服务在大家的项目中或许用的不多,因为大家都把排他放在数据库那一层来挡。当大量的行锁、表锁、事务充斥着数据库的时候,不如换个角度思考问题。一般web应用很多的瓶颈都在数据库上,这里给大家介绍的是减轻数据库锁负担的一种方案。简介如果我们的需求很简单,例如对于用户的账户资金,要保证原子性操作。并且不同的客户端在同一时间内只能提交一个对象操作。lock、单例?!在单台上还可以,但是大型web项目上,负载...
C#和.NET中如何利用FastDFS打造分布式文件系统

C#和.NET中如何利用FastDFS打造分布式文件系统

C#和.NET中如何利用FastDFS打造分布式文件系统2014-10-05背景海量存储、系统负载的迁移、服务器吞吐的瓶颈等等 让文件系统独立于业务系统 提高整个项目的扩展性以及可维护性目前主流的方案 MFS FASTDFS GFS LUSTRE HADOOP等等我选择的是FASTDFS 用一句广告语来说 “免费、快速、找得到”。FASTDFS的作者是淘宝的资深架构师余庆,很诙谐、很有爱!!!其他方案还没玩过 暂不评论。简介 Fas...
C#及.NET中跳出一致性Hash算法并打造更高效的分布式缓存

C#及.NET中跳出一致性Hash算法并打造更高效的分布式缓存

C#及.NET中跳出一致性Hash算法并打造更高效的分布式缓存2014-10-05背景谈到分布式缓存,大家首先想到的是memcached。确实memcached是目前最流行的方案之一。不过很多互联网公司不用memcached,例如新蛋。为什么不选择memcached呢,命中率?热插拔?还是性能。这里先不放结论,用事实来说话。算法篇 -1.除余法如果你手上有老版本的memcache官方文档。你会发现他们用的是除余法来保持节点的一致性。假如你有N台缓存服务器,...
C#及.NET中从控制反转(依赖注入)想到事件注入 (非AOP)

C#及.NET中从控制反转(依赖注入)想到事件注入 (非AOP)

C#及.NET中从控制反转(依赖注入)想到事件注入 (非AOP)2014-10-05 cnblogs 熬夜的虫子概要所谓事件注入是我一时兴起随便杜撰的词,其思想借鉴依赖注入。当然看到这个词很多同学会想到AOP,这里先不置可否。依赖注入(Dependency Injection),是这样一个过程:由于某客户类只依赖于服务类的一个接口,而不依赖于具体服务类,所以客户类只定义一个注入点。在程序运行过程中,客户类不直接实例化具体服务类实例,而是客户类的运行上下文环...
C#全局键盘监听(Hook)的使用

C#全局键盘监听(Hook)的使用

C#全局键盘监听(Hook)的使用2014-10-05 cnblogs 梦烬一.为什么需要全局键盘监听?在某些情况下应用程序需要实现快捷键执行特定功能,例如大家熟知的QQ截图功能Ctrl+Alt+A快捷键,只要QQ程序在运行(无论是拥有焦点还是处于后台运行状态),都可以按下快捷键使用此功能...这个时候在程序中添加键盘监听肯定不能满足需求了,当用户焦点不在App上时(如最小化,或者用户在处理其它事物等等)键盘监听就失效了二.怎样才能实现全局键盘监听?这里需...
<< 201 202 203 204 205 206 207 >>