ASP.NET Core框架揭秘(持续更新中…)
之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本。到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进行改写。除此之外,我还会撰写一系列与此相关的文章,这些文章以ASP.NET Core为核心,我个人将它们分成三个主要的部分,即编程基础、支撑框架和管道详解。其中编程基础主要涉及与ASP.NET Core独特的编程模型和相关编程技巧。支撑框架则介绍支撑ASP.NET Core的多个独立的框架,比如依赖注入、配置模型、配置管理等等。至于最后一部分管道详解,我们会介绍ASP.NET Core最为核心的部分,即用以处理请求的管道,以及众多中间件。
“不要重复制造轮子”是我写文章甚至写书的一个基本原则,我不会撰写你可以从其它地方可以轻易获取的内容,更不会翻译微软的官方文档,所以本系列文章将打上Artech个人标签,好坏暂且不论,至少它们会是独特的,与众不同的。值得一提的是,这些文章将在个人公众帐号(Artech1984,大内老A)上发布,如果你希望采用这种阅读方式,或者希望得到及时的推送提醒,可以关注扫描左上方二微码关注。
第一部分 编程基础
如果没有Visual Studio 2015,我们如何创建.NET Core项目 ?
通过几个Hello World感受.NET Core全新的开发体验
难道.NET Core到R2连中文编码都不支持吗?
第二部分 基础框架
- 依赖注入
控制反转(IoC)
依赖注入(DI)
服务注册与提取
构造函数的选择与生命周期管理 - 文件系统
读取并监控文件的变化
FileProvider是个什么东西?
由PhysicalFileProvider构建的物理文件系统
由EmbeddedFileProvider构建的内嵌(资源)文件系统
扩展文件系统构建一个简易版“云盘” - 配置管理
读取配置数据
配置模型设计详解
Options模式
针对不同类型的配置绑定
多样性的配置源:内存变量,环境变量和命令行参数
三种针对文件(JSON、XML与INI)的配置源
将配置保存在数据库中
如何实现配置与源文件的同步
为什么针对XML的支持不够好?如何改进?
配置的同步机制是如何实现的? - 日志
采用统一的模式记录日志
将日志输出到控制台
将日志写入Debug窗口
利用EventLog写日志
利用TraceSource写日志
第三部分 管道详解
- 模拟管道
采用管道处理请求
管道如何处理请求
管道如何创建 - 真实管道
中间件究竟是个什么东西?
服务器在管道中的“龙头”地位
自定义一个服务器感受一下管道是如何监听、接收和响应请求的
应用的入口——Startup
中间件注册可以除了可以使用Startup之外,还可以选择StartupFilter
管道是如何随着WebHost的开启被构建出来的? - 补遗
如影随形的”依赖注入”[上]: 从两个不同的ServiceProvider说起
如影随形的”依赖注入”[下]: 历数依赖注入的N种玩法
ASP.NET Core应用中如何记录和查看日志
如何远程关闭一个ASP.NET Core应用?
如何设置和获取与执行环境相关的信息?
第四部分 中间件
- 静态文件
以Web的形式发布静态文件
条件请求与区间请求
StaticFileMiddleware中间件
DirectoryBrowserMiddleware中间件
DefaultFilesMiddleware中间件 - 路由
注册URL模式与HttpHandler的映射关系
路由系统的核心对象——Router
Router的创建者——RouteBuilder
来认识一下实现路由的RouterMiddleware中间件
内联路由约束的检验 - 错误处理
三种呈现错误页面的方式
DeveloperExceptionPageMiddleware中间件
ExceptionHandlerMiddleware中间件
StatusCodePagesMiddleware中间件
ASP.NET Core框架揭秘(持续更新中…)的更多相关文章
- [文章汇总]ASP.NET Core框架揭秘[最近更新:2018/10/31]
之前一段时间都在个人公众号账号“大内老A”发布关于ASP.NET Core的系列文章,很多人留言希望能够同步到这里,所以在这里 对这些文章做一个汇总,以便于PC端阅读.如果说微软官方文档主要关于ASP ...
- ASP.NET Core框架揭秘(持续更新中…)
之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...
- ASP.NET Core框架揭秘[博文汇总-持续更新]
第1部分 跨平台开发体验 1 跨平台开发体验 001 跨平台开发体验: Windows [上篇] 002 跨平台开发体验: Windows [中篇] 003 跨平台开发体 ...
- 一个Mini的ASP.NET Core框架的实现
一.ASP.NET Core Mini 在2019年1月的微软技术(苏州)俱乐部成立大会上,蒋金楠老师(大内老A)分享了一个名为“ASP.NET Core框架揭秘”的课程,他用不到200行的代码实现了 ...
- 200行代码,7个对象——让你了解ASP.NET Core框架的本质
2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个名为<ASP.NET Core框架揭秘>的分享.在此次分享中,我按照ASP.NET Core自身的运行原理和设计 ...
- 了解ASP.NET Core框架的本质
了解ASP.NET Core框架的本质 ASP.NET Core自身的运行原理和设计思想创建了一个 “迷你版” 的ASP.NET Core框架,并且利用这个 “极简” 的模拟框架阐述了ASP.NET ...
- 200行代码,7个对象——让你了解ASP.NET Core框架的本质
原文:200行代码,7个对象--让你了解ASP.NET Core框架的本质 2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个名为<ASP.NET Core框架揭秘&g ...
- ASP.NET Core框架深度学习(四)宿主对象
11.WebHost 第六个对象 到目前为止我们已经知道了由一个服务器和多个中间件构成的管道是如何完整针对请求的监听.接收.处理和最终响应的,接下来来讨论这样的管道是如何被构建出来的.管道是在作为应 ...
- 200行代码,7个对象——让你了解ASP.NET Core框架的本质[3.x版]
2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个名为<ASP.NET Core框架揭秘>的分享.在此次分享中,我按照ASP.NET Core自身的运行原理和设计 ...
随机推荐
- 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车
阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...
- 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...
- 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])
常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...
- PHP 获取 特定时间范围 类
目录 前序 用途 功能及事项 使用方法 代码及注释 前序: 总体来说,我更应该是一个 android 移动开发者,而不是一个 phper,如果说只做移动端的 APP ,我也不会学这么多,这 2年来, ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- javaScript中的小细节-script标签中的预解析
首先介绍预解析,虽然预解析字面意思很好理解,但是却是出坑出的最多的地方,也是bug经常会有的地方,利用好预解析的特性可以解决很多问题,并且提高代码的质量及数量,浏览器在解析代码前会把变量的声明和函数( ...
- SharePoint2016安装的过程的”Microsoft.SharePoint.Upgrade.SPUpgradeException”错误解决方法
前提 在windows server 2012的服务器上运行安装sharepoint2016出现如下错误: Could not load file or assembly ‘Microsoft.Dat ...
- SAP自定义权限对象
SAP系统自带了很多的权限对象,每一个运行画面都有非常多的权限用到.不过标准的权限对象并不一定适合于用在客户自己开发的程序里面,所以每个ABAPer都应该会自己开发一套权限对象,并引用在程序代码里面. ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- 烂泥:数据库管理之phpmyadmin免密码配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 其实这篇文章很早就想写了,但是一直没有时间.刚好今天下午稍微空了点,就把这篇文章整理出来 ...