Redis .NET开源组件Beetle.Redis
摘要:Redis .NET开源组件Beetle.Redis Beetle.Redis是一款开源的Redis Client for .net组件,它提供非常简便的操作方式可以让开发人员轻松地访问Redis,同时提供json和protobuf的数据格式支持.基于连接池的默认访问方式可以让开发人员简洁高效地访问redis同时,而不必关心线程和连接同步等一系列复杂的事情.配置组件在使用前要进行配置,主要用于描述访问Redis的信息,分别是读写服务表列. 以上分别配置读/写服务地址,默认开启的连接数是9个,访问数据库是0;根据...
阅读全文
列表类型转换(ConvertList<TSource, TResult>)
摘要:性能优化-列表类型转换(ConvertList)2013-12-16 16:55 by stevey,426阅读,7评论,收藏,编辑 之前,在项目中看到过一段通用列表类型转换的代码,直接的实现便是用反射。大概看了下,它用在领域模型转DTO和SOA接口中契约实体的转换等等。首先,它使用了反射,其次,还是在循环中使用,便有了优化的想法。方法原型如:public static List ConvertList(List source) where TResult : new(),下面贴出代码。说明一下,在此我没有任何的贬义,这段代码可能比较老,其次在项目中,首先是实现功能,如果当时没有更好的实现,.
阅读全文
封装ReaderWriterLockSlim
摘要:封装ReaderWriterLockSlim我这里假设了一个队列系统,把最容易出现问题的修改集合和枚举集合2个操作公开出来,方便在多线程中测试效果以下为测试代码:static void Main(string[] args){ //建立一个字符串集合,总数为1000 List list = new List(1000); for (int i = 0; i { Console.WriteLine(mq.LootFirst()); }); } //在主线程中不停调用mq的遍历方法,这样的操作是很容易出现线程争抢资源...
阅读全文
Excel开发
摘要:浅谈Excel开发:九 Excel 开发中遇到的常见问题及解决方法Excel开发过程中有时候会遇到各种奇怪的问题,下面就列出一些本人在开发中遇到的一些比较典型的问题,并给出了解决方法,希望对大家有所帮助。一 插件调试不了以及错误导致崩溃的问题在开发机器上,有时可能会装有多个版本的.NET运行时,有时候也可能装有多个版本的Visual Studio,本人的开发机器上就安装了3个版本的Visual Studio,在最新的Visual Studio 2013出来之后,就迫不及待的把工程文件迁移到2013上来了,但是在设置了启动程序之后,调试的时候,断点根本不能命中,也调试不进去。即使使用Attach
阅读全文
.Net中DataAdapter批量插入和更新数据总结
摘要:.Net中DataAdapter批量插入和更新数据总结前言 前段时间一直在忙着项目上线,在做项目的同时遇到了一些之前不曾碰到的问题,因为没有经验,只能从网上找一些相关的解决方案,但是网上提供的资料实在是太杂,有的根本不能用,耗时又耗力。 我希望把我这段时间遇到的问题记录下来,去帮助那些当时和我一样“饥渴”的人,以减少时间成本,大家放心,遇到的这些问题提供的解决方案都是经过我们测试,现在正在用的,基本上没什么问题。有什么问题,大家也可以进行探讨,因为问题很多,有些记不起来了,我只能写些可以记起来的分享给大家。 插一句,就是大家在搜问题的时候,尽量用关键字,不是你搜不到问题的答案,而是你搜问...
阅读全文
C#中Linq查询基本操作
摘要:云计算之路-阿里云上:用上了开放缓存服务OCS你知道在我们使用的云服务器中哪台最贵吗?跑memcached的缓存服务器(12G内存)。你知道保证网站访问速度的功臣之一是谁吗?跑memcached的缓存服务器。用云服务器这么高贵的内存跑memcached实在太奢侈了,我们一直忐忑不安,但也没有其他选择。现在终于等来了阿里云开放缓存服务OCS,今天晚上完成了部署。下面分享一下我们的部署过程:我们之前用的Memcached .NET客户端EnyimMemcached就是OCS推荐的.NET客户端,所以应用程序无需作任何修改,只需修改一下配置。但之前由于只在自己的内网使用,不需要用户名/密码验证,所以
阅读全文
取xml文件转成List<T>对象的两种方法
摘要:读取xml文件转成List对象的两种方法(附源码)读取xml文件转成List对象的两种方法(附源码) 读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List对象的方法,加上自己知道的另一种实现方法。 就以一个简单的xml做例子。xml格式如下:1 2 3 4 5 6 7 Product对象如下:1 public class Product2 {3 public string Name { get; set; }4 5 public decimal Price { get; set;...
阅读全文
文件下载+断点续传
摘要:工具开发系列之:文件下载+断点续传2013-12-12 18:01 by Turbo Zhang,325阅读,1评论,收藏,编辑日常开发中总会遇到大量琐碎文件的Copy处理的问题,而如果文件较大的情况下,可能会遇到断电,远程Server崩溃等问题,于是断点续传问题就会提到议事上来。在这里分享一个自己用的DownLoad Tool 虽然细节有待商讨,暂起抛砖引玉之意:新建控制台程序作为tool主程:static void Main(string[] args) { Console.WriteLine("{0:HH:mm:ss} Download tool start.......
阅读全文
C#使用文件监控对象FileSystemWatcher 实现数据同步
摘要:在C#使用文件监控对象FileSystemWatcher 实现数据同步2013-12-12 18:24 by 幕三少,352阅读,3评论,收藏,编辑 最近在项目中有这么个需求,就是得去实时获取某个在无规律改变的文本文件中的内容。首先想到的是用程序定期去访问这个文件,因为对实时性要求很高,间隔不能超过1S,而且每次获取到文本内容都要去分发给WEB服务器做别的操作,而那个文本的写入有时候会频繁,1秒可能多次,但是也有可能在相当长一段时间内是没有任何写入的。这样一来如果每秒都去访问文件的话,一个是IO问题,还有就是每次操作都会引起后端一系列程序的反应,文本在长时间内无写入的话,一秒一次的触发一系列徒
阅读全文
Flex数据交互之Remoting
摘要:Flex数据交互之Remoting 一 前言 Flex数据交互常用的有三种方式:WebService、HttpService以及Remoting。 WebService方式已在这篇文章中给出,这篇文章主要讲解以Remoting进行数据交互,Remoting是基于AMF的数据交互,速度以及性能较WebService好,是公认最有效率的方法。 二 FluorineFX FluorineFx是一个开源库,提供了一种在.NET Framework下对Flex/Flash的远程调用过程。FluorineFx官网地址在这,FluorineFx可以在这下载。 下载安装后,会在vs20...
阅读全文
Visual Stuido也有非常多的快捷键
摘要:最近看到很多同事用 VI 来开发Ruby,Python脚本。 编辑代码全部用的是快捷键,效率很高。其实Visual Stuido也有非常多的快捷键,熟练运用后,能大大提高工作效率。 本文介绍一些最常用的快捷键本文用的GIF动画图片,是通过LICEcap工具录制的。阅读目录VS快捷键教程删除或剪切一行(Ctrl + X)格式化整个文档(Ctrl + K, Ctrl + D)智能感知(Ctrl + J)折叠所有方法 (Ctrl+M,Ctrl+O)折叠或者展开当前方法(Ctrl+M,Ctrl+M)查看函数参数 (Ctrl+K, Ctrl+P)注释(Ctrl+K, Ctrl+C)在光标下面插入空行(C
阅读全文
Identity
摘要:ThreadStatic应用(Identity补完)关于IdentityIdentity自增序列/唯一断标识起初做这个东西,是在一个内部组件中,用于在高并发的环境下得到一个较短的“相对”不重复标识字符串;(这里说的相对是指一定的数量下不重复)灵感自然是来自于SqlServer的自增列和@@Identity变量困扰但是自从做完之后就有一个问题困扰这我,就是这个Current属性,这个属性的实用性其实非常的差因为在高并发的环境中,使用Next()之后,即使立即使用Current属性得到的也是一个新的值,这点来说跟SqlServer的@@Identity是完全不同的@@Identity的值无论并发多
阅读全文
C# socket编程实践
摘要:C# socket编程实践——支持广播的简单socket服务器在上篇博客简单理解socket写完之后我就希望写出一个websocket的服务器了,但是一路困难重重,还是从基础开始吧,先搞定C# socket编程基本知识,写一个支持广播的简单server/client交互demo,然后再拓展为websocket服务器。想要搞定这个需要一些基本知识线程与进程进程与线程对CS的同学来说肯定耳闻能像了,再啰嗦两句我个人的理解,每个运行在系统上的程序都是一个进程,进程就是正在执行的程序,把编译好的指令放入特定一块内存,顺序执行,这就是一个进程,我们平时写的if-else,for循环都按照我们预期,一步步
阅读全文
GMap.Net
摘要:GMap.Net开发之在WinForm和WPF中使用GMap.Net地图插件GMap.NET是什么?来看看它的官方说明:GMap.NETis great and Powerful, Free, cross platform, open source .NET control. Enable use routing, geocoding, directions and maps from Coogle, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yendux, Mapy.cz, Maps.lt, iKarte.lv, NearMap,
阅读全文
简单理解Socket
摘要:简单理解Socket题外话前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人;但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写几个demo,但web socket需要特定的服务器支持,由于标准制定工作还没完成,所以没有多少主流的服务器支持,自己在网上下载了几个实现,包括php的、C#的、甚至Node.js的,但一个是协议变化比较大,很多代码已经过时了,再就是有一些支持最新的标准,但是我想稍微改造一下,看人家源代码的时候云里雾里,看看别人的代码行数也不多,决定自己实现一个。悲剧由此开始,虽然哥
阅读全文
W3C的CORS Specification
摘要:W3C的CORS Specification随着Web开放的程度越来越高,通过浏览器跨域获取资源的需求已经变得非常普遍。在我看来,如果Web API不能针对浏览器提供跨域资源共享的能力,它甚至就不应该被称为Web API。从另一方面来看,浏览器作为进入Internet最大的入口,是各大IT公司的必争之地,所以浏览器市场出现了种类繁多、鱼龙混杂的局面。针对这两点,我们迫切需要一种能够被各个浏览器厂商共同遵循的标准来对跨域资源共享作出规范,这就是由W3C指定2的CORS(Cross-Origin Resource Sharing)规范。目录CORS是如何工作的?对响应报头的授权预检机制是否支持用户
阅读全文
.net通用底层搭建
摘要:.net通用底层搭建之前写过几篇,有朋友说看不懂,有朋友说写的有点乱,自己看了下,的确是需要很认真的看才能看懂整套思路。 于是写下了这篇。1.这个底层,使用的是ado.net,微软企业库2.实体类对应执行sql语句后数据库返回的结果视图你要获取的列,而实体类与数据访问层基类乃是最重要的一环,用到了反射,缓存,拼接语句,高度封装下面,先看添加操作1.十个线程,同时执行,各自插库一万条2.id从原来的程序里加锁处理改为采取数据库自增id,交给数据库处理,想了很久,觉得未来几年都还是单数据库服务器的,所以,用自增吧执行前的查询运行网站,50多秒,每个线程互相等待,数据库帮我们做了并发处理,最后十万.
阅读全文
C/S应用升级更新完整解决方案
摘要:年末福利,C/S应用升级更新完整解决方案放送程序员,工作累寿命短,大家应该学会分享,别浪费有限的生命与健康做重复的事情。C/S方式实现的应用有个升级更新功能是必需的,以前整过一个但是没考虑多套C/S应用的情况,那个时候公司只有一套系统,现在又搞几套,总不能每套应用就架个站点把。另外每个C/S应用多需要一个引导窗口来Show一下图片什么的,在Show的同时需要在后台需要检测版本更新以及加载下目录菜单等等数据,这种需求几乎每个信息系统都是需要地,下面发布的代码使用WindowsFormsApplicationBase的Splash方式完美的实现了引导窗体功能的实现,你的应用只要把AppStart.
阅读全文
管理源码
摘要:使用Jquery+EasyUI 进行框架项目开发案例讲解之五--模块(菜单)管理源码分享使用Jquery+EasyUI 进行框架项目开发案例讲解之五模块(菜单)管理源码分享 在上四篇文章 《使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享》 《使用Jquery+EasyUI 进行框架项目开发案例讲解之二---用户管理源码分享》 《使用Jquery+EasyUI 进行框架项目开发案例讲解之三---角色管理源码分享》 《使用Jquery+EasyUI 进行框架项目开发案例讲解之三---组织机构源码分享》 我们分享了使用Jquery EasyUI来进行ASP...
阅读全文
C#串口通信程序详解
摘要:C#串口通信程序详解摘要:创建C#串口通信程序需要注意什么呢?创建C#串口通信程序的步骤是什么?那么本文就向你详细介绍创建C#串口通信程序集体的内容。在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。我们将使用标准的RS 232 C 在PC间通信。它工作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接。创建C#串口通信程序的具体实现是如何的呢?让我们开始吧:创建C#串口通信程序之命名空间 System.IO.Ports命名空间中
阅读全文