C#实现简易httpserver

一、背景 其实就是很简单的,公司会桌面开发的人员紧缺啊,项目又赶,而我们公司的前端人员人多还厉害(ps:吐槽下,后端的人真的少啊,会桌面开发的更少啊),所以萌生出了使用html+js来构建本地应用程序,但是我们的客户基本都是制造行业,需要对很多硬件进行交互(IO卡、PLC、串口等等各种),那就势必还 ... »

正则表达式

正则表达式 概念 简单来说,正则表达式是 一种字符串匹配的模式 。再换句话说,正则表达式就是记录文本规则的代码,用来查找符合某种复杂规则的字符串的需要。 你可能用过Windows下的通配符,例如 和?,与通配符类似, 正则表达式 也是 进行文本匹配的工具 ,只不过比起通配符,它会更加精确的匹配。当然 ... »

Asp.Net Core微信服务中间件-.NetCore2.1

又封周末,闲暇无聊,随手写了一个关于微信公众号服务的中间件,基于.NetCore2.1。服务类库采用.Net Standard2.0,兼容.net 4.6.1。 整体思路是,设计一个中间件,提供微信消息推送服务。目前实现了,接收微信消息推送后,根据消息类型,对事件消息和被动接收消息分别进行了处理。 ... »

C# Redis缓存安装使用。 ( windows环境安装 萌新使用入门教程)

前言:lz自打工作以来第一次遇到电脑问题需要重装系统,全盘格式化。打击是沉痛的。特别伤。 然后需要重新在本地部署 redis。在网上找阿找,这个写一点,那个写一点,从无到有跑通的一条线的我硬是没找到,这是写这篇博客的原因。写博花费2个多小时。希望对大家有所帮助,安装资源和引用DLL可以引用 只用于学 ... »

浅谈surging服务引擎中的rabbitmq组件和容器化部署

1、前言 上个星期完成了surging 的0.9.0.1 更新工作,此版本通过nuget下载引擎组件,下载后,无需通过代码build集成,引擎会通过Sidecar模式自动扫描装配异构组件来构建服务引擎,而这篇将介绍浅谈surging服务引擎中的rabbitmq组件和容器化部署 surging源码下载 ... »

Visual Studio 代码风格约束

团队内部若能统一代码风格对于日后的项目维护大有裨益,但面对厚达十几甚至几十页的代码风格规范,开发人员难免产生抵触心理。Python和Go等在语言层面就对代码风格作了一定的约束,但C#并没有,为解决这个问题,我们可以在VS中设置团队内部要统一采用的代码风格。 文中所用VS版本信息如下: 设置代码风格 ... »

.NET: 使用.NET Core CLI开发应用程序

要开发.NET Core应用程序,除了使用强大的Visual Studio之外,还可以使用.NET Core CLI。.NET Core CLI (Command-Line Interface),也就是.NET Core命令行界面,它是一个开发.NET Core应用程序的跨平台工具链。安装.NET ... »

.NET: 谈谈C#中的扩展方法

扩展方法(Extension Methods)是C#3.0时引入的新特性,相信很多人都听过并且也都用过,最常见的是在LINQ中的使用。 不仅如此,在开发中,我们也可以创建自己扩展方法,使用它来优化类的设计、简化代码。本文将简单地介绍扩展方法的概念、定义、使用场景以及要注意的点。 不仅如此,在开发中, ... »

【译】单元测试最佳实践

原文地址:Unit testing best practicesPS:本文未翻译原文的全部内容,以下为译文。 编写单元测试有如下好处: 利于回归测试 提供文档 改进代码设计 但是,难以阅读和维护的测试代码则会适得其反。本文会提供一些编写单元测试的最佳实践以使得你的测试代码易于维护和理解。 为什么要写 ... »

C# NPOI数据导出到Excel之反射

之前努力去理解过反射,但是项目中几乎用不到反射,所以对反射理解效果很差。正好最近做了一个类库,功能是将数据导出到Excel,里面用到了反射。我觉得这个是理解反射比较好的案例,所以将此记录下来。 反射理解:反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委 ... »

ef6+asp.net MVC5+bootstrap3

级联删除 EF配置的外键关系除了配置为Optional(可选的,也就是可空),其他默认都是级联删除的,意思就是删除主表的某个数据,相关联的从表数据都自动删除: 级联删除虽然方便,但是并不常用。 例 分类与产品是一对多的关系,删除分类的时候开启级联删除就会删除这个分类对应的所有产品,这样显示是不合理的 ... »

使用Jexus服务器运行Asp.Net Core2.0程序

前段时间写了篇关于.net core跨平台部署的文章。https://my.oschina.net/lichaoqiang/blog/1861977 主要讲述了,利用Nginx+CentOS+Supervisor+.NetCore2.1,来运行.net core程序,感兴趣的朋友可以看一下。今天向大 ... »

基于Gecko内核的简单浏览器实现

分享一个基于Gecko内核的简单浏览器实现过程。 项目需要需要开发一个简单浏览器,由于被访问的网页中有大量Apng做的动画,使用IE内核的webbrowser不能播放,使用基于WebKit和Cefsharp试了一下,播放Apng动画也有问题。 顺便分享一下各个项目地址: CefSharp:https ... »

.Net基础——程序集与CIL

1. 程序集和CIL: 程序集是由.NET语言的编译器接受源代码文件产生的输出文件,通常分为 exe和dll两类,其中exe包含Main入口方法可以双击执行,dll则需要被其他程序集调用执行。 CIL(Common Intermediate Language): 公共中间语言①,需要被编译成二进制机 ... »

CentOS+Nginx+Supervisor部署ASP.NET Core项目

对.Net Core的学习和实践,已经进行了一年多的世间,截止目前,微软已经发布.Net Core2.1,关于.NetCore的应用部署的文章比比皆是。今天借此,回顾下.net core环境的部署过程。 首先,我这边采用的是CentOS7+上的版本,.net core2.1。在动手前,我们先做这样的 ... »

基于.net standard 的动态编译实现

在前文[基于.net core 微服务的另类实现]结尾处,提到了如何方便自动的生成微服务的客户端代理,使对于调用方透明,同时将枯燥的东西使用框架集成,以提高使用便捷性。在尝试了基于 Emit 中间语言后,最终决定使用生成代码片段然后动态编译的模式实现。背景:其一在前文中,我们通过框架实现了微服务面向... ... »

基于.net standard 的动态编译实现

在前文[基于.net core 微服务的另类实现]结尾处,提到了如何方便自动的生成微服务的客户端代理,使对于调用方透明,同时将枯燥的东西使用框架集成,以提高使用便捷性。在尝试了基于 Emit 中间语言后,最终决定使用生成代码片段然后动态编译的模式实现。背景:其一在前文中,我们通过框架实现了微服务面向... ... »

谈谈surging引擎的tcp、http、ws协议和如何容器化部署

1、前言 分布式已经成为了当前最热门的话题,分布式框架也百花齐放,群雄逐鹿。从中心化服务治理框架,到去中心化分布式服务框架,再到分布式微服务引擎,这都是通过技术不断积累改进而形成的结果。esb,网关,nginx网关 这些中心化服务治理框架现在都是各个公司比较主流的架构,而最近几年大家炒的比较火的去中 ... »