DotNet Core管道通信】的更多相关文章

前言 在之前,我们需要明确的一个概念是, Web 程序中,用户的每次请求流程都是线性的,放在 ASP.NET Core 程序中,都会对应一个 请求管道(request pipeline),在这个请求管道中,我们可以动态配置各种业务逻辑对应的 中间件(middleware),从而达到服务端可以针对不同用户做出不同的请求响应. 在 ASP.NET Core 中,管道式编程是一个核心且基础的概念,它的很多中间件都是通过 管道式 的方式来最终配置到请求管道中的,所以理解这里面的管道式编程对我们编写更加健…
环境: dotnet core 1.0.1 CentOS 7.2 今天在服务器巡检的时候,发现一个服务大量抛出异常 异常信息为: LockStatusPushError&&Message:One or more errors occurred. (An error occurred while sending the request. Too many open files)&InnerMessageAn error occurred while sending the reque…
0x00 简介 DotBPE.RPC是一款基于dotnet core编写的RPC框架,而它的爸爸DotBPE,目标是实现一个开箱即用的微服务框架,但是它还差点意思,还仅仅在构思和尝试的阶段.但不管怎么说RPC是微服务的基础,先来讲讲RPC的实现吧.DotBPE.RPC底层通信默认实现基于DotNetty,这是由微软Azure团队开发的C#的Netty实现,非常酷.当然你也可以替换成其他Socket通信组件.DotBPE.RPC使用的默认协议名称叫Amp,编解码使用谷歌的Protobuf3,不过这…
前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本是Java,.NET的天下,后端渲染页面的时代已经一去不复返,当然这是时代的进步.前端调用后端服务目前大多数基于JSON的HTTP服务,那么就引入的我们今天的内容.客户端访问服务的时候怎么保证安全呢?很多同学都听说过OAuth2.0,都知道这个是用来做第三方登录的,实际上它也可以用来做Api的认证授…
一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core—使用.Net Core + Entity FrameWork Core构建WebAPI(一)>一致. 但是在我们这里,由于docker中无法部署sql server,所以我采用了Mysql数据库,顺便吐槽一下 SQL Server真的太贵了,阿里云的Mysql实例价格和SQL Server实例价格差10倍,真的好夸张. Mysql官方的EF Core支持刚刚出…
前言 dotnet core 在3.0时代已经发展得很好. 尤其是在跨平台方面更已经是达到了很实用的阶段. 作为 dotnet 程序员, 应该对 Linux 有充分的了解, 也可以在业余时间玩玩硬件, 做个小创客 实际上网上很多教程都良莠不齐. 本人以前看各种资料的时候,都走了很多没有意义的弯路. 这次教学就是想让玩跨界的网友能在最短时间内上手. 本文配套视频地址是 https://www.bilibili.com/video/BV1Ap4y1y7Bh/ 树莓派是什么? 如图: 树莓派它首先是一…
前几天,公众号后台有朋友在问Core的中间件,所以专门抽时间整理了这样一篇文章.   一.前言 中间件(Middleware)最初是一个机械上的概念,说的是两个不同的运动结构中间的连接件.后来这个概念延伸到软件行业,大家把应用操作系统和电脑硬件之间过渡的软件或系统称之为中间件,比方驱动程序,就是一个典型的中间件.再后来,这个概念就泛开了,任何用来连接两个不同系统的东西,都被叫做中间件. 所以,中间件只是一个名词,不用太在意,实际代码跟他这个词,也没太大关系.   中间件技术,早在.Net fra…
ML.net已经进到了1.5版本.作为Microsoft官方的机器学习模型,你不打算用用?   一.前言 ML.net可以让我们很容易地在各种应用场景中将机器学习加入到应用程序中.这是这个框架很重要的一点. 通过ML.net,我们可以使用手中的可用数据,进行预测.分析.检测,而不需要进行过于复杂的编程. ML.net的核心,同样是机器学习模型.它采用同样的步骤,通过指定算法来训练模型,将输入数据转换为所需的预测数据. 更重要的是,ML.net基于.NET Core,这让它可以非常简单地跨平台,在…
今天,我们深度研究一下IHttpClientFactory.   一.前言 最早,我们是在Dotnet Framework中接触到HttpClient. HttpClient给我们提供了与HTTP交互的基本方式.但这个HttpClient在大量频繁使用时,也会给我们抛出两个大坑:一方面,如果我们频繁创建和释放HttpClient实例,会导致Socket套接字资源耗尽,原因是因为Socket关闭后的TIME_WAIT时间.这个问题不展开说,如果需要可以去查TCP的生命周期.而另一方面,如果我们创建…
有时候,越是基础的东西,越是有人不明白.   前几天Review一个项目的代码,发现非常基础的内容,也会有人理解出错. 今天,就着这个点,写一下Dotnet Core的主要类型的项目结构,以及之间的转换和演化. 一.最基础的应用Console 控制台应用,是Dotnet Core乃至前边的Dotnet Framework中,最基础的项目. 我们来创建一个Console项目看一下: % dotnet new console -o demo 创建完成后,打开工程.工程里只有一个文件Program.c…