Asp.Net Core 是开源,跨平台,模块化,快速而简单的Web框架.
 Asp.net Core官网的一个源码合集,方便一次性Clone,喜欢的(Star),本系列持续更新,也可以通过我的网站访问,欢迎探讨交流
 接上一篇
  目录
  
  asp.net core实现了一个跨平台的宿主和web服务器. 一旦你调用了WebHost对象的Start方法,你就运行了一个监听Http请求的Web服务器,它可以运行在32位的linux系统甚至是树莓派上.然而在生产环境还是建议你使用一些反向代理工具,如Nginx,IIs,Apache等.为什么需要反向代理,因为Kestrel只是一个简单的Web服务器,其他语言像java,python,nodejs,ruby,你会看到一些Web服务器PM2或者Passenger结合反向代理工具使用.这些Web服务器提供了监控,日志,负载均衡和流程管理功能,对于一个成熟的Web服务器而言.在Windows平台,你可以使用IIS反向代理,在linux服务器使用nginx/apache来实现反向代理.
 asp.net core实现了一个跨平台的宿主和web服务器. 一旦你调用了WebHost对象的Start方法,你就运行了一个监听Http请求的Web服务器,它可以运行在32位的linux系统甚至是树莓派上.然而在生产环境还是建议你使用一些反向代理工具,如Nginx,IIs,Apache等.为什么需要反向代理,因为Kestrel只是一个简单的Web服务器,其他语言像java,python,nodejs,ruby,你会看到一些Web服务器PM2或者Passenger结合反向代理工具使用.这些Web服务器提供了监控,日志,负载均衡和流程管理功能,对于一个成熟的Web服务器而言.在Windows平台,你可以使用IIS反向代理,在linux服务器使用nginx/apache来实现反向代理.
 宿主
 宿主WebHost用来配置服务器和处理请求管道.
 public interface IWebHost:IDisposable {     //从Server加载Http功能接口列表     IFeatureCollection ServerFeatures { get; }     //服务容器     IServiceProvider Services { get; }     // 开始监听端口     void Start();     //启动主机     Task StartAsync(CancellationToken cancellationToken = default(CancellationToken));     //尝试停止主机     Task StopAsync(CancellationToken cancellationToken = default(CancellationToken)); } 
 Web服务器
 Kestrel 是跨平台 HTTP 服务器,它基于 libuv(一个跨平台异步 I/O 库). Web Server实现了IServer接口,实现了Http服务器.
 public interface IServer {     //Http功能接口列表     IFeatureCollection Features { get; }     //开始处理请求     Task StartAsync<TContext>(IHttpApplication<TContext> application, CancellationToken cancellationToken);     // 停止请求处理,关闭服务器,尽可能的不是强制结束,而是等待请求处理结束后再停止     Task StopAsync(CancellationToken cancellationToken); } 
 请求委托
  Asp.net Core包含了一组请求委托(RequestDelegate),请求委托处理Http请求, 这一组请求委托组成了请求管道.(Pipeline)
 Asp.net Core包含了一组请求委托(RequestDelegate),请求委托处理Http请求, 这一组请求委托组成了请求管道.(Pipeline)
 中间件(Middleware)
  - 为请求委托指定匿名方法,通过 Run、Map 和 Use 扩展方法来配置.
- 为请求委托指定命名方法,通过UseMiddleware<类名称>来配置,通过反射生成类的实例,再调用实例的Invoke方法或者InvokeAsync方法来实例化委托.
HTTP功能接口
  -  Web Server的功能接口集合, 服务器定义的Http 功能接口和相应的中间件. 
-  请求上下文(Context)的功能接口集合,中间件可以更改该功能集合并添加新的HttpFeature接口支持. 
迷你的代码示例
 middleware/Demo
 以上内容有任何错误或不准确的地方请大家指正,不喜勿喷! 本文版权归作者和开源中国共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。