开发进阶:Dotnet Core多路径异步终止

今天用一个简单例子说说异步的多路径终止。我尽可能写得容易理解吧,但今天的内容需要有一定的编程能力。 今天这个话题,来自于最近对gRPC的一些技术研究。 话题本身跟gRPC没有太大关系。应用中,我用到了全双工数据管道这样一个相对复杂的概念。 我们知道,全双工连接是两个节点之间的连接,但不是简单的“请求 ... »

.NET Core引入日志(Log4Net篇)

Demo版本信息如下: VS:2019 框架:.Net Core 3.1 Log4Net:2.0.12 思维导图: 【1】添加依赖项 通过nuget添加Log4Net 【2】创建公共类 添加公共类Log4NetLogger,实现ILogger, ILoggerProvider,扩展方法Log4net ... »

[日常填坑系列]CAP食用指南-版本引用问题

一、前言 最近,由于好久没升级底层框架,一直用着netcore2.2版本,导致有些包没能更新到最新的版本,例如:CAP。 然而,在最近升级到CAP:3.1.2版本的时候,发现有点小坑,只能退回到CAP:3.1.1版本了。 二、原因 为啥要将CAP版本从3.1.2退回到3.1.1呢? 根本原因:CAP ... »

深入浅出Dotnet Core的项目结构变化

有时候,越是基础的东西,越是有人不明白。 前几天Review一个项目的代码,发现非常基础的内容,也会有人理解出错。 今天,就着这个点,写一下Dotnet Core的主要类型的项目结构,以及之间的转换和演化。 一、最基础的应用Console 控制台应用,是Dotnet Core乃至前边的Dotnet ... »

.NET Core 处理 WebAPI JSON 返回烦人的null为空

前言 项目开发中不管是前台还是后台都会遇到烦人的null,数据库表中字段允许空值,则代码实体类中对应的字段类型为可空类型Nullable<>,如int?,DateTime?,null值字段序列化返回的值都为null,前台对应字段赋值需要做null值判断,怎么才能全局把null替换为空。 本文分享We ... »

.Net微服务实战之负载均衡(下)

系列文章 .Net微服务实战之技术选型篇 .Net微服务实战之技术架构分层篇 .Net微服务实战之DevOps篇 .Net微服务实战之负载均衡(上) .Net微服务实战之CI/CD .Net微服务实战之Kubernetes的搭建与使用 相关源码:https://github.com/SkyChenS ... »

在 CAP 中使用 AOP ( Castle.DynamicProxy )

简介 本篇文章主要介绍如何在 CAP 中集成使用 Castle.DynamicProxy,Castle DynamicProxy 是一个用于在运行时动态生成轻量级.NET代理的库。代理对象允许在不修改类代码的情况下截取对对象成员的调用。可以代理类和接口,但是只能拦截虚拟成员。 为什么需要使用 AOP ... »

使用swagger上传文件

经常使用swagger,可以通过设置[ProducesResponseType]标记接口的返回信息;swagger也能通过接口的参数列表,自动获得发送的数据结构信息。 不过有一个例外,就是上传文件的时候,设置了[Consumes]的内容为multi-part/form-data,但是swagger并 ... »

.net core 3.1 + Swagger 5.0 初步配置

附言:账号创建到现在也6年多了,都没有写过任何文章,第一次试水,见谅。这文章是之前.net framework 转到.net core,搭建swagger的时候,写在云笔记里面。 废话不说,进入正文。 vs2019创建webapi项目,Nuget引入Swashbuckle.AspNetCore St ... »

前后端分离项目获取后端跨控制器获取不到session

最近做前后端分离项目(.net core web api +vue)时,后台跨控制器不能获取到session。由于配置的是共享的session。本来以为是共享session出了问题,就在共享session这块找了大半天的问题,把相关组件删了一遍,到最后还是不行。最终转换了思路,是不是前后端分离的问题 ... »

持续提升程序员幸福指数——使用abp vnext设计一款面向微服务的单体架构

可能你会面临这样一种情况,在架构设计之前,你对业务不甚了解,需求给到的也模棱两可,这个时候你既无法明确到底是要使用单体架构还是使用微服务架构,如果使用单体,后续业务扩展可能带来大量修改,如果使用微服务,前期可能在工期上把项目给耽误了,你该怎么办?这就是这篇文章想要研讨的面向微服务的单体架构的由来。 ... »

C#脚本引擎CS-Script

最近想要在程序中嵌入一个C#脚本引擎,在.NET Framework时代用过一个叫做CS-Script的东西,感觉还是不错,发现现在也支持.NET Core了,试着嵌入一下。 比较 要说能够运行C#脚本的解决方案,有Roslyn和Mono,与他们相比,CS-Script能够提供的封装更为高级,它底层 ... »

C#中烦人的Null值判断竟然这样就被消灭了

作者:依乐祝 首发自:DotNetCore实战 公众号 https://www.cnblogs.com/yilezhu/p/14177595.html Null值检查应该算是开发中最常见且烦人的工作了吧,有人反对吗?反对的话请右上角关门不送。这篇文章就教大家一招来简化这个烦人又不可避免的工作。 罗嗦 ... »

Dotnet Core多版本API共存的优雅实现

API升级,新旧版本的API共存,怎么管理呢? 一、前言 最近,单位APP做了升级,同步的,API也做了升级。 升级过程中,出现了一点问题:API升级后,旧API也需要保留,因为有旧的APP还在使用中。 那么,API端如何作到多个版本共存呢? * 为防止非授权转发,这儿给出本文的原文链接:https ... »

如何从零开发一个NuGet软件包?

作者:依乐祝 首发地址:https://www.cnblogs.com/yilezhu/p/14175019.html 我想目前每个.net开发人员都应该知道nuget.org和NuGet软件包吧。但是,您是否曾经尝试并创建过一个nuget包呢?Nuget软件包比较容易引入到类库中。因此,可以使用N ... »

一个小技巧助您减少if语句的状态判断

作者:依乐祝 首发地址:https://www.cnblogs.com/yilezhu/p/14174990.html 在进行项目的开发的过程中, if 语句是少不了的,但我们始终要有一颗消灭 if / else 语句的心。为了消灭if / else 我们引入了 短路器 的概念。 短路器 有时候的确 ... »