双机热备的Quartz集群
摘要:sqlserver搭建高可用双机热备的Quartz集群部署【附源码】 一般拿Timer和Quartz相比较的,简直就是对Quartz的侮辱,两者的功能根本就不在一个层级上,如本篇介绍的Quartz强大的集群机制,可以采用基于 sqlserver,mysql的集群方案,当然还可以在第三方插件的基础上实
阅读全文
Parallel类
摘要:Parallel类 Parallel类是对线程的一个抽象。该类位于System.Threading.Tasks名称空间中,提供了数据和任务并行性。 Paraller类定义了数据并行地For和ForEach的静态方法,以及任务并行的Invoke的静态方法。Parallel.For()和Parallel
阅读全文
从自定义一个特性开始,谈谈什么是特性
摘要:SuriFuture的博客 行动力决定了一个人的成败,有想法,就去做! SuriFuture的博客 行动力决定了一个人的成败,有想法,就去做! SuriFuture的博客 行动力决定了一个人的成败,有想法,就去做! C#特性:从自定义一个特性开始,谈谈什么是特性 作为C#新手中的一员,我刚开始接触特
阅读全文
Spire.Doc组件
摘要:使用Spire.Doc组件利用模板导出Word文档 以前一直是用Office的组件实现Word文档导出,但是让客户在服务器安装Office,涉及到版权;而且Office安装,包括权限配置也是比较麻烦。 现在流行使用第三方组件来实现对Office的操作,有NPOI,Spire等第三方组件。开始考虑的是
阅读全文
C#7模范和实践
摘要:C# 7 中的模范和实践 原文地址:https://www.infoq.com/articles/Patterns-Practices-CSharp-7 关键点 遵循 .NET Framework 设计指南,时至今日,仍像十年前首次出版一样适用。 API 设计至关重要,设计不当的API大大增加错误,
阅读全文
表达式树Expression
摘要:Expression表达式树动态查询 在进行数据列表的查询中,我们通常会使用两种方式进行查询: linq查询 数据库sql语句查询 这样固然可以实现查询,本人之前也都是这么做的,因为查询的条件很少。使用linq,可以将所有的查询条件的属性传到后台,再根据该属性是否有值,使用where进行查询;使用存
阅读全文
装箱拆箱
摘要:从装箱拆箱看泛型 .NET很容易把值类型转换为引用类型,所以可以在需要对象的任意地方使用值类型。例如int可以赋予一个对象,从值类型转换为引用类型称为装箱。如果方法需要把一个对象作为参数,同时传递一个值类型,装箱操作就会自动进行。另一方面,装箱的值类型可以使用拆箱操作转换为值类型。 定义一个一般的、
阅读全文
基础知识
摘要:工作中能用到的基础知识总结(一) 阅读目录 简介 知识点 一、值类型和引用类型 二、装箱/拆箱问题 三、泛型 四、List是什么,有什么优点? 五、抽象类和接口关系 六、什么是面向对象 七、委托和事件 八、变体、协变性、逆变性、不变性 九、Lock的作用 简介 该博文记录一些工作中接触较多的基础知识
阅读全文
CSV
摘要:CSV文件默认以英文逗号做为列分隔符,换行符作为行分隔符。 如果不提供网页形式只用命令行或二进制程序输出数据到CSV,只需要将数据段按,分割,行按\n分割,写入到一个.csv文件即可。 但有时字段里含有,和换行符就麻烦了,数据输出会出现混乱。这时可以使用双引号"来将每个字段内容括起来,CSV默认认为
阅读全文
C#开发Linux守护进程
摘要:C#开发Linux守护进程 Linux守护进程是Linux的后台服务进程,相当于Windows服务,对于为Linux开发服务程序的朋友来说,Linux守护进程相关技术是必不可少的,因为这个技术不仅仅是为了开发守护进程,还可以拓展到多进程,父子进程文件描述符共享,父子进程通讯、控制等方面,是实现Lin
阅读全文
分布式服务网关(Web Api)
摘要:分布式服务网关(Web Api) kmp算法又称“看毛片”算法,是一个效率非常高的字符串匹配算法。不过由于其难以理解,所以在很长的一段时间内一直没有搞懂。虽然网上有很多资料,但是鲜见好的博客能简单明了地将其讲清楚。在此,综合网上比较好的几个博客(参见最后),尽自己的努力争取将kmp算法思想和实现讲清
阅读全文
网络编程C#
摘要:C#网络程序设计(1)网络编程常识与C#常用特性 网络程序设计能够帮我们了解联网应用的底层通信原理! (1)网络编程常识: 1)什么是网络编程 只有主要实现进程(线程)相互通信和基本的网络应用原理性(协议)功能的程序,才能算是真正的网络编程。 2)网络编程的层次 现实中的互联网是按照"TCP/IP分
阅读全文
程序热升级
摘要:.NET插件技术-应用程序热升级 今天说一说.NET 中的插件技术,即 应用程序热升级。在很多情况下、我们希望用户对应用程序的升级是无感知的,并且尽可能不打断用户操作的。 虽然在Web 或者 WebAPI上,由于多点的存在可以逐个停用单点进行系统升级,而不影响整个服务。但是 客户端却不能这样做,毕竟
阅读全文
C#实现拼图游戏
摘要:C#实现《拼图游戏》 (下) 原理篇 前言:在 http://www.cnblogs.com/labixiaohei/p/6698887.html 程序设计 之 C#实现《拼图游戏》(上),上传了各模块代码,而在本文中将详细剖析原理,使读者更容易理解并学习,程序有诸多问题,欢迎指出,共同学习成长!
阅读全文
生成动态Lambda表达式1
摘要:SqlDataReader生成动态Lambda表达式 上一扁使用动态lambda表达式来将DataTable转换成实体,比直接用反射快了不少。主要是首行转换的时候动态生成了委托。 后面的转换都是直接调用委托,省去了多次用反射带来的性能损失。 今天在对SqlServer返回的流对象 SqlDataRe
阅读全文
c#
摘要:C#各个版本中的新增特性详解 序言 自从2000年初期发布以来,c#编程语言不断的得到改进,使我们能够更加清晰的编写代码,也更加容易维护我们的代码,增强的功能已经从1.0搞到啦7.0甚至7.1,每一次改过都伴随着.NET Framework库的相应支持,也不断的带给我们期待与惊喜。下面我们就对c#一
阅读全文
录屏软件
摘要:WPF 录屏软件研发心得及思路分享 最近由于工程需要开始研发基于Windows的自动录屏软件,很多细节很多功能需要处理,毕竟一个完美的录屏软件不是你随随便便就可以写出来的。首先参考了大部分的录屏软件,在研发的过程中遇到了很多的问题;比如-视频加载、麦克风加载、麦克风音量调节、视频播放进度控、视频音量
阅读全文
RedisHelper
摘要:RedisHelper 使用 StackExchange.Redis 封装属于自己的 RedisHelper 目录 核心类 ConnectionMultiplexer 字符串(String) 哈希(Hash) 列表(List) 有序集合(sorted set) Key 操作 发布订阅 其他 简介 目
阅读全文
C#高效率复制对象
摘要:高效率复制对象 1、需求 在代码中经常会遇到需要把对象复制一遍,或者把属性名相同的值复制一遍。 比如: public class Student { public int Id { get; set; } public string Name { get; set; } public int Age
阅读全文
Topshelf组件
摘要:使用Topshelf组件构建简单的Windows服务 很多时候都在讨论是否需要了解一个组件或者一个语言的底层原理这个问题,其实我个人觉得,对于这个问题,每个人都有自己的看法,个人情况不同,选择的方式也就会不同了。我个人觉得无论学习什么,都应该尝试着去了解对应的原理和源码(这里就不要急着吐槽,容我说完
阅读全文