可扩展的应用程序 “启动引导” 框架
摘要:可扩展的应用程序 “启动引导” 框架背景应用程序引导经常要做如下这些事情:动态加载DLL(或各种插件)。注册IOC容器。设置其他全局配置。这其中尤其以注册IOC容器的代码最烦人,看一个我昨天写的烦人代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Threading; 7 8 using Microsoft.Practices.Service...
阅读全文
初步架构功能设计
摘要:一步步实现自己的框架系列:初步架构功能设计我想很多人都有想写一个自己框架的愿望,然后各种应用都可以使用。可是由于各种原因,很多时候也是在想象中,并没有自己一步一步去实现,而我也是这其中的一员。不管你是新手跟着我一起做还是大牛批评指点,欢迎访问,不管是板砖还是表演既然来了何不留下痕迹做纪念呢? 人生需要规划,架构也一样,没有计划的最终会偏离原先的设想。 就像阿甘正传中给船起名字一样,没有名字的船是不吉祥的,所以他给船起了珍妮号,他最喜欢女孩的名字。我也给自己框架起个名字吧,本人光棍一个,就起我外号广林的缩写吧GL。 首先,指定我们的初步目标,我希望我的框架涉及以下功能点1.首先语言使用C#...
阅读全文
对C# 程序员来说现在是到目前为止最好的时代
摘要:对C# 程序员来说现在是到目前为止最好的时代本文的标题来自Scott Hanselman的Xamarin Evolve 2013 Talk Video - How C# Saved My Marriage,想写下这些东西主要是今天看到了CSDN的一个极客头条《观点:.NET向何处去?》和传智播客.Net学院:《Linux+Mono公开课》的视频看了2个开头的视频,邹华栋老师讲的很不错,适合初学者,期待后续Jexus 和 nginx 公开课。但是课程中也有一些错误的地方, 本文将自己的一些看法及时记录下来和更多的人分享。 公开课提到Mono才刚出来不久还不成熟,这里涉及到一个Mono的历史,具体
阅读全文
如何监控你的鼠标
摘要:如何监控你的鼠标你想知道你每天的鼠标左键和右键的点击次数吗?你想知道你的鼠标手是怎么养成的吗?源于上面的两个想法,就开发了MouseMonitor这款应用。它是用来记录每天工作的时候鼠标左键和鼠标右键的点击次数。这是款很小的软件,源代码也已经开源了。欢迎到http://mousemonitor.funaio.com/下载使用。MouseMonitor v1.0.1首页:功能:1 可以最小化到托盘。这样在工作的时候可不影响用户的使用。2 可以进行一周的左右键点击次数的统计。这样可以对比看出每周的鼠标点击趋势。3 有升级提醒。当版本升级的话,会进行版本升级提醒。mouseMonitor实现细节源代
阅读全文
代码生成器重构
摘要:NodeJs:Happy代码生成器,重构了代码,更新了文档,完善了示例,欢迎下载使用背景利用现有的开源框架,做了一个代码生成工具,因为以后都打算用这个工具,就重构了代码、更新了文档和完善了示例。这篇文章简单介绍一下工具的组成和API文档的使用。一则:为了我的团队成员;二则:为了让需要的朋友可以下载使用。为什么要使用这个工具简单:核心就2个类+四个API方法、asp的模板语法(ejs)、为了方便代码生成,数据库元数据做了预处理(如:可空类型、C#类型的字符串表示)。快捷:比如:你按照三层架构定义了3个模板,且你的数据库有10个表,一个方法调用会生成30个文件(目标可以自定义)。文档齐全:中文文档
阅读全文
跨线程修改UI控件
摘要:跨线程修改UI控件前些天,有个朋友让我给他演示下C#,好快速入门,以完成某科目的期末大作业。然后,就涉及到一个进度条的东西,紧接着就涉及到跨线程修改控件的问题了。因为从来没用过,所以,华丽丽的跪了。只在网上搜到一个异步的方式,但是,此异步是使用控件的异步,仍然会导致UI线程的卡顿。经过几天的寻找资料,大致可以得到下面几种方法:1.直接在线程创建线程中,对是否是创建线程访问控件不做检查,直接跨线程操作。首先,在创建线程中,添加语句: CheckForIllegalCrossThreadCalls = false;然后,定义按钮事件:private void startButton_Click(o
阅读全文
Matlab与.NET基于类型安全的接口编程入门
摘要:Matlab与.NET基于类型安全的接口编程入门如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标。【原创分享】Matlab.NET混编调用Figure窗体http://www.cnblogs.com/asxinyu/archive/2013/04/14/3020813.html【原创】开源.NET下的XML数据库介绍及入门http://www.cnblogs.com/asxinyu/archive/2013/03/25/2980086.html【原创】关于.NET下开源及商业图像处理(PSD)组件http://www.cnblogs.com/asxinyu/archiv
阅读全文
分享一个.NET实现的简单高效WEB压力测试工具
摘要:分享一个.NET实现的简单高效WEB压力测试工具在Linux下对Web进行压力测试的小工具有很多,比较出名的有AB.虽然AB可以运行在windows下,但对于想简单界面操作的朋友有点不太习惯.其实vs.net也提供压力测试功能但显然显得太重了,在测试的时候也会占用了大量的资源导致测试效果不理想.为了让在win下对web压力测试变得更简单方便所以用.net写了一个小工具来完成这个事情功能介绍这个小工具提供了一系列的参数设置,主要包换测试的类型,并发用户数和是否保持长连接状态等.KeepAlive是否保持连接状态,如果选择是则省下了连接创建的损耗从而达到更高的吞吐测试效能并发用户数这个值是指同时请
阅读全文
NodeJs:用 nodejs + edge + ejs + c#,打造属于自己的代码生成器
摘要:NodeJs:用 nodejs + edge + ejs + c#,打造属于自己的代码生成器(下篇)背景最近有一个任务,为第三放系统的需要公开WCF服务接口,需求就是:根据需要访问的数据(表)和访问使用的协议自动生成WCF项目。本来打算用T4的,因为最近刚好开始学习Node,就用Node实现了一个简答的代码生成器工具。上篇地址:http://www.cnblogs.com/happyframework/archive/2013/05/11/3072387.html。因为如何实现已经在上篇文章做了介绍,这篇文章就介绍一下如何使用。如何使用?第一步:环境要求Node + .Net4.5 +我的项目
阅读全文
Async和Await使异步编程更简单
摘要:Async和Await使异步编程更简单本专题概要:引言同步代码存在的问题传统的异步编程改善程序的响应C# 5.0 提供的async和await使异步编程更简单async和await关键字剖析小结一、引言在之前的C#基础知识系列文章中只介绍了从C#1.0到C#4.0中主要的特性,然而.NET 4.5 的推出,对于C#又有了新特性的增加——就是C#5.0中async和await两个关键字,这两个关键字简化了异步编程,之所以简化了,还是因为编译器给我们做了更多的工作,下面就具体看看编译器到底在背后帮我们做了哪些复杂的工作的。二、同步代码存在的问题对于同步的代码,大家肯定都不陌生,因为我们平常写的代码
阅读全文
.NET通用权限系统快速开发框架
摘要:.NET通用权限系统快速开发框架晚上服务器高峰期,,比较慢。。。。服务器比较普通系统在线演示地址:http://120.90.2.126:8051登录账户:system,密码:system###DEMO下载地址:http://download.csdn.net/detail/shecixiong/5372895一、开发技术:B/S(.NET C# )1、Windows XP以上 (支援最新Win 8) 2、Microsoft Visual Studio 2010/2012 C#.NET 3、.NET Framework 4.0以上 (支援最新4.5版本) 4、SQL Server 2005以上
阅读全文
Socket编程 (异步通讯,解决Tcp粘包) 3
摘要:Socket编程 (异步通讯,解决Tcp粘包) - Part3Socket编程 (异步通讯,解决Tcp粘包) 从上一章的通讯中,我们发现如果使用Tcp连续发送消息会出现消息一起发送过来的情况,这样给我们编程造成一定的问题,给我们的信息解析造成一定的问题。那么这篇文章就将针对以上问题给出解决方案......问题一般会出现的情况如下,假设我们连续发送两条两天记录("我是liger_zql"):模拟发送示例: #region 测试消息发送,并匹配协议 TcpClient client = new TcpClient(); client.AsynConnect(); Console
阅读全文
多线程学习之限制同时运行的线程数量
摘要:多线程学习之限制同时运行的线程数量最近闲暇之余,来搞搞,多线程学习,只为下个项目做准备,随着项目优化,开发,性能的考虑,慢慢要用到些以前不用的东西,先开始熟悉熟悉先把东西放上来,欢迎大家赐教,比较好久木玩这东西了,肯定不完善,希望大家提出宝贵意见啊(嘿嘿~~)大概功能描述:为了提高数据处理速度,把任务队列分别交给不同子线程去完成,同时对启动的新线程数量限制,避免线程数量过多照成机器卡壳 1 using System; 2 using System.Threading; 3 namespace ThreadTest 4 { 5 class ThreadMaxNum 6 { 7 ...
阅读全文
.NET:可扩展的单据编号生成器 之 基于缓冲区的顺序号
摘要:.NET:可扩展的单据编号生成器 之 基于缓冲区的顺序号背景我在上篇文章“.NET:可扩展的单据编号生成器 之 顺序号(防止重复)”中介绍了如何使用“种子表”和“悲观锁”解决顺序号的问题。昨天找朋友讨论,说这种速度不够高,今天就稍微改进一下,引入一个内存缓冲区,提高生成的速度。思路引入内存缓冲区后,顺序号的生产流程变为:在内存中维护一个顺序号区间,在这个区间内,就直接查内存,否则更新种子表并重新更新内存区间。还是直接看代码吧。实现代码下载:http://yunpan.cn/Q5jj5yedRAtk5。SeedCodeRuleProvider.cs 1 using System; 2 usi..
阅读全文
十分钟学会什么是async和await
摘要:十分钟学会什么是async和await早上无意中看到了async和await关键字,花了十几分钟看了一下msdn,大概明白了是什么一个东西,和大家分享一下。await关键字的中文是期待的意思。在我们编程中想表达“我待会期待这里会有一个值,但我不是现在就要,我先去做其他事情,你完成的时候告诉我”。其实异步模式非常符合现实中场景,现实生活中还真的很少东西是同步的。等车的时候没事干可以拿手机出来玩一下,首发下邮件,而不是直愣愣的干在那里等着车过来。话说回来,在C# 5中借助await可以更好的辅助我们进行异步编程模式的开发,通过改变执行流程,使得异步执行看起来更像同步执行。我直接拿msdn里的代码和
阅读全文
基于任务的异步模式
摘要:[你必须知道的异步编程]——基于任务的异步模式本专题概要引言什么是TAP——基于任务的异步模式介绍如何使用TAP——使用基于任务的异步模式来异步编程TAP与APM或EAP可以转换吗?——与其他异步模式的转换小结一、引言 在上两个专题中我为大家介绍.NET 1.0中的APM和.NET 2.0中的EAP,在使用前面两种模式进行异步编程的时候,大家多多少少肯定会感觉到实现起来比较麻烦, 首先我个人觉得,当使用APM的时候,首先我们要先定义用来包装回调方法的委托,这样难免有点繁琐, 然而使用EAP的时候,我们又需要实现Completed事件和Progress事件,上面两种实现方式感觉都有点繁琐,同时.
阅读全文
K2使用总结-K2简介
摘要:K2使用总结-K2简介一、 K2简介K2 Black pearl 是SourceCode公司基于.NET WF构建的流程开发平台的核心产品。代码可支持生成WF代码,流程设计环境使用WPF构建,并完全嵌入到VS 2008中,与微软产品紧密结合。K2 black pearl 包括业务流程管理与工作流性能。可以通过建立应用来管理业务流程并使其自动化,或者集业务流程、人员、服务、信息和系统于单一的应用,从而帮助推动业务发展。二、 K2中常用对象介绍1、 DefaultActivity (流程节点,可以看作是事件的容器,在该节点中必须包含至少一个事件)2、 Default Line(节点之间的连接线)3
阅读全文
当文件操作遇上进程占用时
摘要:当文件操作遇上进程占用时 近日做文件操作时,老是抛异常说文件正在被另一个进程占用着,很无奈,给我知道是哪个进程占用的话,就把它给Kill掉,当然这样做在一定程度上是有危险的,万一占用文件的进程是那么那么地重要,就不该Kill了,因此这样的做法只能在确保安全的情况下去做,或者是Kill了进程之后带来的不良后果也无关痛痒。上网找了一下,在别的进程占用文件下读写文件的文章很多,但获取占用文章的进程就比较少,在百度上就有人说过用unlocker这种工具,这工具我没去看,感觉也不太适合在这里用吧,如果有dll,提供API那还不错。后来就在谷歌里找到了只那么一篇文章而已,看了之后还终究要用到别的exe,还
阅读全文
可扩展的单据编号生成器 + 简单的解释器
摘要:可扩展的单据编号生成器 + 简单的解释器背景在企业应用中单据编号的自定义是一个很常见的需求,能不能抽象一个通用的框架呢?之前写个一篇自定义密码强度的博文,感觉他们两个思路应该很相似。就让我们试试吧。思路这里的难点在于实现"解释器",比如将"前缀_<日期:yyyy_MM_dd>"解释为“工号生成器”,而且“解释器”的“规则”允许动态增加。实现代码下载类图核心代码CodeRuleGenerator.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq;
阅读全文
基于.net开发chrome核心浏览器3
摘要:基于.net开发chrome核心浏览器【三】本篇我们讲解怎么用CefGlue开发一个最简单的浏览器一:CefGlue是建立在Cef项目之上的,Cef项目是C/C++的项目;CefGlue只不过是通过PInvoke来访问Cef项目生成的一些dll下面我们来看看Cef项目生成的一些dll和资源都是做什么用的打开这个目录\cef_binary_3.1453.1236_windows_xilium\Releaselibcef.dll-------------------------->Cef的核心类库icudt.dll-------------------------->支持unicode
阅读全文