亲宝软件园·资讯

展开

深入理解kestrel的应用

jiulang 人气:0
### 1 前言 之所以写本文章,是因为在我停止维护多年前写的[NetworkSocket](https://github.com/xljiulang/NetworkSocket)组件两年多来,还是有一些开发者在关注这个项目,我希望有类似需求的开发者明白为什么要停止更新,可以使用什么更好的方式来替换(其实很大原因是我把时间花在开发[WebApiClient](https://github.comhttps://img.qb5200.com/download-x/dotnetcore/WebApiClient)上面了)。那时.netcore还没有生下来,asp.net除了蜗居在iis里处理http,其它什么也不能干,而NetworkSocket是这样定义的: > NetworkSocket是一个以中间件(middleware)扩展通讯协议,以插件(plug)扩展服务器功能的支持SSL安全传输的通讯框架;目前支持http、websocket、fast、flex策略与silverlight策略协议。 ### 2 Kestrel是什么 谈到asp.netcore,人们自然就想到它的默认服务器[kestrel](https://github.comhttps://img.qb5200.com/download-x/dotnet/aspnetcore/tree/master/src/Servers/Kestrel),在很多场景中,人们甚至认为kestrel等于Web服务器,或者说它只能处理http和http之上的东西。本文先在此下个定义:Kestrel是一款基于中间件来处理tcp连接的服务器,并内置了http(包含websocket、SignalR)解析中间件。也就是说,我们完全可以给kestrel添加其它中间件,用来处理非http的连接的业务场景,让kestrel使用一个端口支持多种协议或多协议一个端口一种协议的要求。 #### 2.1 Kestrel的中间件是什么 在asp.netcore的Startup里,我们使用app.UseXXX的扩展方法来应用各种中间件,比如UseRouting、UseStaticFiles等等,它本质上还是调用了`IApplicationBuilder.Use(Func

加载全部内容

相关教程
猜你喜欢
用户评论