高效GTD云工具 Manage Your Time
摘要:高效GTD云工具 Manage Your Time欢迎使用“高效GTD云工具”,它可以有效的帮助你提高工作效率和有效的管理时间!断断续续,历时两个月的开发测试,终于可以发布啦~本软件绿色免安装如果不能打开请下载 .netFrameWork 2.0 或以上版本由于加了壳,360这个傻货会误报,请大家放心使用。下载地址:http://pan.baidu.com/share/link?shareid=448320&uk=2803303672软件特色:1.支持固定时间提醒,可以帮助长时间操作电脑的人群有效安排休息时间,劳逸结合。2.支持自定义事件提醒,你可以设定多个提醒事件,到点会自动弹出提醒
阅读全文
nodejs + edge + ejs + c#
摘要:NodeJs:用 nodejs + edge + ejs + c#,打造属于自己的代码生成器背景自从第一次接触代码生成器,就爱上她了。用过ComeSmith和T4,这些代码生成器确实很优秀,为何我还要DIY自己的呢?有如下几点理由:T4的元数据定义太麻烦,还要定义强类型的元数据类型。一直希望用一款动态语言作为工具。今天就介绍一下,如何用nodejs+edge+ejs+ c#,打造属于自己的代码生成器。核心外部库介绍:edge:允许在nodejs中调用c#代码。ejs:基于nodejs的模板引擎。思路常见的代码生成器都支持从数据库生成代码,因此思路可以分为两大步骤:一、读取数据库元数据;二、基于
阅读全文
异步编程模型(APM)
摘要:异步编程模型(APM)本专题概要:引言你知道APM吗?你想知道如何使用异步编程模型编写代码吗?使用委托也可以实现异步编程,你知道否?小结一、引言 在前面的C#基础知识系列中介绍了从C#1.0——C#4.0中一些主要特性,然而.NET 4.5更新,除了提供了一些新的类和一些新的模板外,对于C#语言也做了一定的更新,最重要的就是.NET 4.5(对应于C#5.0)中提供了async和await两个关键字,这两个关键字是我们实现异步编程更加容易了,其实早在.NET 1.0开始微软就对异步编程做了相应的支持——即异步编程模型(APM), 之后在.NET 2.0中又提出了基于事件的异步编程模型(EAP.
阅读全文
NET:工作流中如何动态解析路由规则 之 T4 + 动态编译
摘要:NET:工作流中如何动态解析路由规则 之 T4 + 动态编译背景在上篇文章中我介绍了如何用动态语言解释器执行路由规则,有很多朋友都给出了他们的选项,如下:集成解释器(Iron、Javascript等)。动态编译。解析为Lamda表达式。模板引擎。因为我觉得动态编译很有意思,结合T4可能会更舒服,这篇文章就用这个思路重新实现一下如何解析路由规则。思路T4 + 动态编译 = 无限可能如何使用动态编译解析这条规则(“LeaveDays>=5 && LeaveType=='病假'”)呢?思路有很多种,我立马想到的的有两种,将Leave的属性解析为某个方法的本地变量
阅读全文
网站是否有播放音乐功能
摘要:网站是否有播放音乐功能以前开发的一个网站,昨晚吃晚饭时,客户来电说,网站是否有播放音乐功能,可更换乐曲,可控音量与停放。当时一心品尝美味晚餐,当时随口回答客户一切没有问题。晚餐完毕,开始工作......第一步,考虑到方便用户管理歌曲需求,如果只播放一首歌是很方便的,让用户替换歌曲即可。但也许用户需要播放回以前的歌曲,不必重复上传与替换。因此想到要实现存储用户播放的歌曲,如果用户要播放新歌曲,上传即可,如果想播放回以前的歌曲,重新选择即可。现在用户要求是每次播放一首。想到某一天,用户会心血来潮,要能循环播放几首,这在开发时,就要想到的。OK,把想到的一切可变因数,在开发时,需要考虑进来。数据库创
阅读全文
美化C\S程序
摘要:美化C\S程序只需3行代码2013-05-09 00:16 by 通用信息化建设平台, 1587 阅读,28评论,收藏,编辑 很早一起喜欢用delphi5的第三方控件,那时候觉得第3方控件好牛X啊,后来又有一段时间比较少用第三方控件了,其实想美化软件有一段时间了,一方面是没选好到底用哪个第三方组件,另外一个方面总是没能有充足的精力去美化软件。 最近有个人在微博上批评了我,给我的感触很大,不要找那么多接口,马上就美化自己的程序。经过一晚上的美化、程序看起来的确舒服多了,也显得更加专业了。下面给大家介绍一下程序美化的过程。 1:添加引用。 2:启动程序里,设定默认样式。 3:把窗体的基础类进行替换
阅读全文
实现 winform 异步跨线程访问UI控件
摘要:实现 winform 异步跨线程访问UI控件在开发winform时经常会用到多线程防止界面出现假死现象,比如当你单击某个按钮时,需要执行很多代码,但是在执行过程中想实时的将当前执行的情况报告给用户,类型进度条或文本什么的。这个时候很显然,如果你把要实现的内容放在按钮方法里时,其实界面要等这个按钮执行完后才能输出来,这个时候就达不到我们的预期了;那么怎么才能解决问题呢。我初略终结了一下有以下几种方法: 1.采用BackgroundWorker控件,这个控件将要实时输出的内容写在事件中; 1 private void button1_Click(object sender, EventArgs e
阅读全文
多线程的那群“象”
摘要:多线程的那群“象”最初学习多线程的时候,只学了用Thread这个类,记忆中也用果Mutex,到后来只记得Thread的使用,其余的都忘了。知道前不久写那个Socket连接池时遇到了一些对象如:Semaphore,Interlocked,Mutex等,才知道多线程中有这么多好东西,当时用了一下有初步了解,现在来熟悉熟悉。 本文介绍的多线程这个“象群”包括:Interlocked,Semaphore,Mutex,Monitor,ManualResetEvent,AutoRestEvent。而使用的例子则有车票竞抢和类似生产者消费者的Begin/End(这里的Begin/End跟异步里面的没关系).
阅读全文
Environment Detection环境检测工具设计与实现
摘要:ERP环境检测工具设计与实现 Environment Detection环境检测的功能在安装程序中应用的很普遍,ERP程序中也需要在系统第一次启动时,对所安装的环境进行检测,遇到不满足的情况要及时提示用户更新系统。网格中显示要检测的编号,内容描述,最后一列是检测结果,工具栏Export可以将检测结果导出为EXCEL文件。先来看检测规则的设定,仍然是发挥XML文件的功效,设定放到Xml文件中当需要检测新的项目时,一般只需要更改此文件内容,增加检测方法。Method方法定义于程序中的一个静态方法,运行时反射调用此方法进行判断。 public bool CheckIfDotNetFramework.
阅读全文
深入.NET程序集加载
摘要:深入.NET程序集加载这个问题是一个有关.NET公共语言运行时的问题。大家知道,.NET为了提高程序性能,所有程序集是按需加载的,也就是说在必要时在加载。但是,你知道程序集确切的加载时机吗?绝大多数情况下,我们都不需要关心程序集的加载时机,不过,当我们在做程序自动升级的时候就碰到一些非常有趣的事情了。下面我先抛出问题。首先,我们先来看看以下这段有问题的程序,你觉得哪有问题。我先来解释一下这段程序的用处:(1)在WPF的App这类的构造函数中检测内核文件更新并启动OSGi.NET内核;(2)UpdateCoreAndStartBundleRuntime的作用就是:A)更新UIShell.iOpe
阅读全文
搭建后台框架
摘要:简单权限屌丝版001-搭建后台框架1:一曲【"人说恋爱就像放风筝,如果太计较就有悔恨;不哭泣,因为我对情对爱全都不曾亏欠你"】--《太委屈》2:一代码 [ --委托 public delegate void TuziDelegate(); static void LoveTuzi(){....} /* * 委托也是一样的,也是一个数据类型,使用她的时候 * 也需要new一个对象,通过Delegate关键字定义委托 */ TuziDelegate tuzi=new TuziDelegate(Tuzi); tuzi(); // tuzi();//其实内部编译的的时候还是...
阅读全文
基于Lumisoft.NET组件的POP3邮件接收和删除操作
摘要:基于Lumisoft.NET组件的POP3邮件接收和删除操作Lumisoft.NET组件是一个非常强大的邮件发送、邮件接收等功能的开源组件,一般用它来处理邮件的相关操作,是非常合适的。之前也写过一些该组件的随笔文章,不过主要是利用来发送邮件居多,最近由于项目需要,需要利用该组件来接收邮件,邮件通过POP3协议进行接收到本地,故对该组件进行了全面的了解和使用。本文主要是在此背景上,介绍该组件的POP3协议处理类的使用。Lumisoft.NET组件2013年作者有做了一定的更新,修复了一些问题,本文是基于该组件的最新版本进行开发使用。1、POP3登录及头部信息获取首先使用POP3,必须创建一个PO
阅读全文
线程
摘要:小学徒成长系列—线程现在很多面向对象语言中都有了操作线程这个重要的功能,线程能够使复杂的一部代码变得更简单,大大的降低了复杂系统的开发,随着现在处理器数量的发展,充分的利用线程,就能够更好的发挥多处理器系统的强大能力。1.基本概念 1.1线程和进程的关系 在刚开始的时候,操作系统(OS)为了使多个程序能并发执行,从而提高资源利用率和系统吞吐量,从而提出了进程,后来为了减少时空的开销,提高并发性和CPU的利用率,就提出了线程这个概念。 在OS中,其实线程包含于进程内的,一个程序只有一个进程,但是却可以有很多的线程,如图: 从图中,我们也可以很好的知道,进程是操作系统中资源分配的基本单...
阅读全文
ArcEngine IMap接口
摘要:ArcEngine IMap接口使用IMap接口显示各种数据源的数据。IMap接口的成员ActiveGraphicsLayer:活动图形图层,如果没有将创建一个基本memory graphics layer。AddLayer:向地图中添加单个图层。AddLayers:向地图中添加多个图层。AddMapSurround:向地图中添加map surround。AnnotationEngine:地图使用的注记(标签)引擎。AreaOfInterest:地图的感兴趣区域。Barriers:barriers列表和标签权重。BasicGraphicsLayer:基本图形层。ClearLayers:从地图中
阅读全文
Database2Sharp之混合型Winform框架代码生成
摘要:Database2Sharp之混合型Winform框架代码生成本人一直致力于Winform开发框架的研究和使用,有时候项目要求是传统Winform的,直接访问数据库进行获取数据;有的时候项目要求WCF框架,以分布式访问WCF服务获取数据的,虽然在Winform和WCF框架,都有特定的应用场景和开发思路,但是希望把这两种传统式的框架,加以抽象和提炼,形成目前所介绍的混合型框架,这样所有完成混合型框架改造的通用模块(或一个小业务模块),都能无缝式的实现集成使用。这种混合型框架的特点和优点都非常明显,为我最终实现,一个框架,多个应用的开发平台集成方案迈出坚实的一步。1、混合型框架的应用前景当然,本篇
阅读全文
.NET:在ASP.NET中如何进行IP限制
摘要:.NET:在ASP.NET中如何进行IP限制背景为了增强系统的安全,很多信息系统都提供了“IP限制”功能。功能虽然简单,但是从业五年来从来没有是实现过,因此就以博文的形式记录下来。思路实现应该很简答,功能可以分解为如下这三个问题:判断当前请求是否应用IP限制,有些请求不用应用IP限制的。当前客户IP是否包含在限制列表中。如何以AOP的形式应用IP限制1和2可以抽象为一个接口 1 using System; 2 3 namespace IpLimit.Codes 4 { 5 interface IIpLimitService 6 { 7 bool IsInExc...
阅读全文
使用C#编写JavaScript
摘要:使用C#编写JavaScript前端开发中JavaScript代码的维护总是让人头疼,特别是在富客户端应用中,必须要编写非常庞大的JavaScript代码,虽然JavaScript声称是面向对象的语言,但对于现代语言中常见的继承、强类型等的支持十分有限。如果我们能够将C#语言中的特性运用于JavaScript上,那么肯定将极大地提高JavaScript代码的维护性,提升开发效率。Saltarelle编译器就是这样的一个工具,他能将C#代码编译为JavaScript代码。本文将展示如何使用Saltarelle编写JavaScript代码,我们将结合Saltarelle.jQuery和Saltar
阅读全文
TPL并行编程概括
摘要:TPL并行编程1——概括并行编程看似简单,但是其实要设计一个较完美的解决方案是很复杂的。可能由于神秘的错误,程序并不能如预期那样运行。从今天起,我打算每星期更新一次关于并行编程方面的文章。 在Net4.0中引入了一种新的编程模型,极大简化了并行编程的难度和工作。后台使用了高效的登山算法等保证效率。此外,NET4.0中还包含调试和分析的工具,方便我们更好的掌握并行编程。1:任务(Task) 任务是协同工作的一系列顺序操作,他们共同完成一个更大的操作。我们在构建并行程序时,要确定任务的粒度,这有助于硬件的有效利用。如果选择太小,任务管理的开销占主要,如果太粗,可能会失去并行的机会,因为原本可以使用
阅读全文
可扩展的 “密码强度” 代码示例
摘要:可扩展的 “密码强度” 代码示例场景在企业应用中,我们经常需要限制用户的密码强度。问题如何以可扩展的方式支持不同企业应用的密码强度要求?思路算法思路:密码强度 = 求和(每个规则的强度 * 权重)。可扩展思路:以聚合的形式管理各种规则,让用户可以扩展自定义规则。实现设计类图示例代码PasswordStrengthService 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 name.
阅读全文
UDP通信
摘要:UDP通信最近做了一个网页的UDP通信的小东西,由于怕以后用到的时候找不到了,贴出来跟大家分享,代码也有好多是从网上找的 1 //这里之所以用try catch是因为在接收的时候如果关闭窗口的话,会有一个进程挂起,导致再次运行的时候出错,这样写我也不知道有什么缺陷,希望懂的的人告诉一下 2 try 3 { 4 //建立一个新的UdpClient 6716是固定端口 不写则是随机端口 5 udpClient = new UdpClient(6716); 6 //连接远程服务器 7 ...
阅读全文