随笔分类 - C#语言特性
c#编程技巧和经验的总结
如何在NET 6.0使用结构化的日志系统
摘要:在我们的系统里面,有一项技术是必须使用的,那就是日志记录。我们在调试系统或者跟踪系统运行情况,都可以通过日志了解具体的情况。在项目开发中,我们有可能使用系统本身所带的日志系统,也有可能使用第三方日志框架来记录日志,首先一般基础的内置日志记录器在第三方日志框架中都有实现,然后很多第三方日志框架在功能上
阅读全文
如何在 NetCore 中定义我们自己的JSON配置文件的管理器。
摘要:一、介绍 微软已经对外提供了新的平台,我们叫它们是 Net Core 平台,这个平台和 Net Framework 平台有本质的区别,这个最本质的区别就是微软的C#代码可以跨平台了。当前我们主流的3大平台 Net Core 都支持的挺好的,比如:Windows、Linux和Mac。当然编程的体验和方
阅读全文
WCF 服务的集合管理器的设计
摘要:今天是2019年2月1日,时间过得针对,马上就年底了,当前新年也离我们越来越近了。在此,我也祝福经常浏览我博客的朋友们“新年快乐、阖家欢乐”,来年有一个好彩头。在即将结束这一年之计,写今年的最后一片文章。WCF 我相信大家都使用过,每次宿主该服务的时候都要使用 ServiceHost,如果要加载多个
阅读全文
C#使用CefSharp开源库开发Chrome 浏览器
摘要:一、介绍 这个东西我以前没有接触过,但是公司项目里面有用到这个东西,所以就顺便研究一下。今天只是做了 WinForm 的测试,有时间了在试试 WPF 是如何实现的。刚开始一塌糊涂,有点麻烦,慢慢的理清了,其实也不是很难。 二、开发步骤 1、下载和安装程序集 当前程序集最新的版本是69.0.0,如果想
阅读全文
Newtonsoft.Json 你必须知道的一些用法
摘要:最近在做接口开发,对方团队开发了一个Web API 的接口,传输数据的格式是 JSON。当时看到这个东西,感觉很简单,也没想什么,没用多久就完成了我的功能,我完成的功能很简单,就是获取数据,然后把数据列表进行 JSON 序列化,然后再以 POST 方式调用对方 Web Api 的接口,将 JSON
阅读全文
VS2015 提示 无法启动 IIS Express Web 服务器
摘要:好久没有写东西了,不是没的写,是没时间了,今天快下班了,正好遇到这个一个问题,我就记录下来,以防忘记。 我定义了一个项目,Demo代码也写好了,然后,我们就把写好的项目代码加入到了源代码管理工具里。然后每个人获取下来,就可以运行并调试了。但是除了问题,有的同事可以正常运行,有点同事的项目就不能运行,
阅读全文
重新温习:预生成事件命令行和生成后事件命令行
摘要:今天写一点有关Visual Studio 2015使用技巧方面的文章,其实不只是VS2015,VS以前的版本也有这个功能,这个功能就是“VS预生成事件命令行 和 生成后事件命令行”。这个功能好久没有使用了,居然在这个功能使用上也会阴沟翻船,整整把我折腾了多半天,借着今天这个机会,今天我就把这个功能补
阅读全文
Windows服务安装、卸载、启动和关闭的管理器
摘要:最近在重构公司的系统,把一些需要独立执行、并不需要人为关注的组件转换为Windows服务,Windows服务在使用的过程中有很多好处,相信这一点,就不用我多说了。但是每次都要建立Windows服务项目,编写服务代码,建立服务的安装程序,然后还要通过InstallUtil.exe这个命令来安装Wind
阅读全文
[转]C#中HttpClient使用注意:预热与长连接
摘要:最近在测试一个第三方API,准备集成在我们的网站应用中。API的调用使用的是.NET中的HttpClient,由于这个API会在关键业务中用到,对调用API的整体响应速度有严格要求,所以对HttpClient有了格外的关注。 开始测试的时候,只在客户端通过HttpClient用PostAsync发了
阅读全文
适合千万数据查询分页操作的一个通用存储过程
摘要:一、引言 最近上班比较忙,所以就很少写东西了,MongoDB系列的文章也要拖后了,没办法,工作第一,没工作就没饭吃了。今天正好的有点时间,就把我最近搞得一些东西,记录下来。 在软件行业,稍微大一点的公司,相关数据的存储量就可能会很大,当我们做系统的时候,一定会使用存储过程进行分页显示,至于为什么分页
阅读全文
C#设计模式之一单例模式(Singleton Pattern)【创建型】
摘要:一、引言 看了李建忠老师的讲的设计模式已经有一段时间了(这段时间大概有一年多了),自己还没有写过自己的、有关设计模式的文章。这次想写一些关于设计模式的文章,用自己的理解和代码来写,算是复习一遍。写作的过程中也会多看看其他大牛的文章,争取让自己的理解正确,否则把大家带跑偏了,就是我的过错了。今天就开始
阅读全文
C#设计模式之二十三解释器模式(Interpreter Pattern)【行为型】
摘要:一、引言 今天我们开始讲“行为型”设计模式的第十一个模式,也是面向对象设计模式的最后一个模式,先要说明一下,其实这个模式不是最后一个模式(按Gof的排序来讲),为什么把它放在最后呢?因为我们在业务系统中写一个解释器的机会并不是很多,实践比较少,理解和应用该模式就有些困难,所以就放在最后来说。该模式就
阅读全文
C#设计模式之二十二备忘录模式(Memento Pattern)【行为型】
摘要:一、引言 今天我们开始讲“行为型”设计模式的第十个模式,该模式是【备忘录模式】,英文名称是:Memento Pattern。按老规矩,先从名称上来看看这个模式,个人的最初理解就是对某个对象的状态进行保存,等到需要恢复的时候,可以从备忘录中进行恢复。生活中这样的例子也能经常看到,如备份电话通讯录,备份
阅读全文
C#设计模式之十九策略模式(Stragety Pattern)【行为型】
摘要:一、引言 今天我们开始讲“行为型”设计模式的第七个模式,该模式是【策略模式】,英文名称是:Stragety Pattern。在现实生活中,策略模式的例子也非常常见,例如,在一个公司中,会有各种工作人员,比如:有的是普通员工,有的是软件架构师,有的是部门经理,当然也会有公司的CEO。这些工作人员负责的
阅读全文
C#设计模式之十八状态模式(State Pattern)【行为型】
摘要:一、引言 今天我们开始讲“行为型”设计模式的第六个模式,该模式是【状态模式】,英文名称是:State Pattern。无论是现实世界,还是面向对象的OO世界,里面都有一个东西,那就是对象。有对象当然就有状态了。每个对象都有其对应的状态,而每个状态又有对应一些相应的行为,在不同状态下,行为的的方式也是
阅读全文
C#设计模式之十七中介者模式(Mediator Pattern)【行为型】
摘要:一、引言 今天我们开始讲“行为型”设计模式的第五个模式,该模式是【中介者模式】,英文名称是:Mediator Pattern。还是老套路,先从名字上来看看。“中介者模式”我第一次看到这个名称,我的理解是,在两个对象中间增加一个“中间对象”,“中间对象”协调两个对象的关系,但是随着理解的深入,“中间对
阅读全文
C#设计模式之十六观察者模式(Observer Pattern)【行为型】
摘要:一、引言 今天是2017年11月份的最后一天,也就是2017年11月30日,利用今天再写一个模式,争取下个月(也就是12月份)把所有的模式写完,2018年,新的一年写一些新的东西。今天我们开始讲“行为型”设计模式的第四个模式,该模式是【观察者模式】,英文名称是:Observer Pattern。还是
阅读全文
C#设计模式之十五迭代器模式(Iterator Pattern)【行为型】
摘要:一、引言 今天我们开始讲“行为型”设计模式的第三个模式,该模式是【迭代器模式】,英文名称是:Iterator Pattern。还是老套路,先从名字上来看看。“迭代器模式”我第一次看到这个名称,我的理解是,迭代是遍历的意思,迭代器可以理解为是遍历某某的工具,遍历什么呢?在软件设计中,当然遍历的是集合对
阅读全文
C#设计模式之十四命令模式(Command Pattern)【行为型】
摘要:一、引言 今天我们开始讲“行为型”设计模式的第二个模式,该模式是【命令模式】,又称为行动(Action)模式或交易(Transaction)模式,英文名称是:Command Pattern。还是老套路,先从名字上来看看。“命令模式”我第一次看到这个名称,我的理解是,可能是一种行为或者一个操作就是一个
阅读全文
C#设计模式之十三模板方法模式(Template Method Pattern)【行为型】
摘要:一、引言 “结构型”的设计模式已经写完了,从今天我们开始讲“行为型”设计模式。现在我们开始讲【行为型】设计模式的第一个模式,该模式是【模板方法】,英文名称是:Template Method Pattern。还是老套路,先从名字上来看看。“模板方法”我第一次看到这个名称,我的理解是,有一个方法的名字叫
阅读全文