
ASP.NET Core
文章平均质量分 74
ASP.NET Core 使用与框架解析
FlyLolo
代码的艺术
展开
-
我的回忆录:如何成为会写书的程序员?
作为一个多年的程序员,深知大多数程序员平时对写文档是有一些“不喜欢”的,即使自认为平时还算喜欢做一些“技术笔记”的我,也是这里扔一个txt、那里扔一个word,至于内容更是“只写关键点”。之前也有写博客的习惯,但都是想到哪写到哪,不会注意篇幅、排版等,完全就是网络版的随心笔记。2018年.NET Core 2.0发布后,它的一系列新特性吸引了我,开始逐步学习.NET Core 并逐步在新的项目中使用ASP.NET Core,并且写了几篇博客发了出来。几篇文章很意外的获得了大量的关注,并且上了推荐,算是原创 2021-10-12 07:30:00 · 243 阅读 · 0 评论 -
ASP.NET Core新书终于上市,完成今年一个目标
2018年.NET Core 2.0发布后,开始逐步学习.NET Core 并逐步在新的项目中使用ASP.NET Core。并且零零散散写的写了将近30篇学习笔记发到园子里,包括ASP.NET Core的一些”使用方法“和“源码阅读笔记”。直到后来出版社的张爽编辑问我是否考虑把这些内容写成一本书。我开始对原来的博文进行整理,去年10.1之前.NET Core 3发布,将原来写的内容更新后11...原创 2020-09-21 08:05:00 · 798 阅读 · 0 评论 -
ASP.NET Core 系列目录
目录: 置顶:ASP.NET Core新书终于上市,完成今年一个目标,赠书活动ASP.NET Core 2.0 : 一. 概述ASP.NET Core 2.0 :二. 开发环境ASP.NET Core 2.0 : 三. 项目结构ASP.NET Core 2.0 : 四. _Layout与_ViewStartASP.NET Core 2...原创 2018-03-09 10:23:00 · 143 阅读 · 0 评论 -
ASP.NET Core : 一. 概述
ASP.NET Core 系列目录为什么要使用 ASP.NET Core?.NET Core 刚发布的时候根据介绍就有点心里痒痒, 大概看了一下没敢付诸于行动, 现在2.0发布了一段时间了, 之前对其"不稳定"的顾虑也打消的差不多了,至于为什么要使用core, 官方是这样说的:ASP.NET Core 是重新设计的 ASP.NET,更改了体系结构,形成了更精简的模块化框架。ASP.N...原创 2018-02-07 09:00:00 · 738 阅读 · 0 评论 -
ASP.NET Core : 二. 开发环境
ASP.NET Core 系列目录macOS:Install Visual Studio for Mac系统要求:macOS 10.12 Sierra 及更高版本其他要求: 可能会要求安装xcode或android相关环境, 详见下文安装选项说明.1. 下载Visual Studio for Mac2. 安装:a.安装前检查b.应用和版本控制需要Xcodec.选择安装组...原创 2018-02-07 21:20:00 · 1293 阅读 · 0 评论 -
ASP.NET Core : 三. 项目结构
本章我们一起来对比着ASP.NET Framework版本看一下ASP.NET Core 2.0的项目结构.(此后的文章也尽量这样对比着, 方便学习理解.)关注差异, 也为项目迁移做准备.ASP.NET Core 系列目录新建项目, 选择类型新建项目, 选择.NET Core 有如下几种类型可选, 分别是Console, ASP.NET Core 的空项目, Web API我们选择AS...原创 2018-02-09 08:35:00 · 1121 阅读 · 0 评论 -
ASP.NET Core : 四. _Layout与_ViewStart
本章我们新建一个项目,并通过这个项目熟悉一下_Layout与_ViewStart以及它们的加载顺序.ASP.NET Core 系列目录新建一个项目首先, 文件->新建一个解决方案选择.Net Core 的APP下面的ASP.NET Core Web App(MVC)Next设置解决方案的名称(和Xcode的界面风格有点像), 输入FL.WeightManager, 做一个...原创 2018-02-18 09:59:00 · 780 阅读 · 0 评论 -
ASP.NET Core : 五.服务是如何加载并运行的, Kestrel、配置与环境
"跨平台"后的ASP.Net Core是如何接收并处理请求的呢? 它的运行和处理机制和之前有什么不同?本章从"宏观"到"微观"地看一下它的结构以及不同时期都干了些什么.ASP.NET Core 系列目录本章主要内容如下:ASP.NET Core 的运行机制: "宏观"的看一下Http请求的处理流程.ASP.NET Core 的配置与运行: 2倍放大后的ASP.NET Core Applicat...原创 2018-03-21 09:40:49 · 4743 阅读 · 0 评论 -
ASP.NET Core : 六. 举个例子来聊聊它的依赖注入
本文通过一个维修工与工具库的例子形象的描述一下为什么要用依赖注入、它的工作原理是什么样的, 然后根据这个类比一下ASP.NET Core 中的依赖注入, 从而深刻了解它的使用方法、注意事项以及回收机制等.ASP.NET Core 系列目录本文主要内容:1.为什么要用依赖注入(DI)2.容器的构建和规则3.ASP.NET Core 2.0中的依赖注入4.使用方法及需要注意的问题5.服...原创 2018-03-08 07:22:00 · 829 阅读 · 0 评论 -
ASP.NET Core : 七.一张图看透启动背后的秘密
为什么我们可以在Startup这个 “孤零零的” 类中配置依赖注入和管道? 它是什么时候被实例化并且调用的? 参数中的IServiceCollection services是怎么来的? 处理管道是怎么构建起来的? 启动过程中,系统“默默的”做了哪些准备工作? 上一篇文章讲了ASP.NET Core中的依赖注入(系列目录), 而它的配置是在Startup这个文件中的Con...原创 2018-03-22 07:13:00 · 736 阅读 · 0 评论 -
ASP.NET Core : 八.图说管道,唐僧扫塔的故事
本文通过一张GIF动图来继续聊一下ASP.NET Core的请求处理管道,从管道的配置、构建以及请求处理流程等方面做一下详细的研究。(ASP.NET Core系列目录)一、概述 上文说到,请求是经过 Server监听=>处理成httpContext=>Application处理生成Response。这个Application的类型RequestDelegate本质是pu...原创 2018-03-27 06:59:00 · 777 阅读 · 0 评论 -
ASP.NET Core : 九.从Windows发布到CentOS的跨平台部署
本文聊一下如何在Windows上用VS开发并发布, 然后将其部署到CentOS上。对于我们一些常在Windows上逛的来说,CentOS用起来还真有些麻烦。MSDN官方有篇文章大概讲了一下(链接),按照MSDN上面的例子用vs创建个hellomvc项目,还是踩了好多坑,将整个过程和遇到的坑说一下,希望对有需要的朋友有所帮助。(ASP.NET Core系列目录) 本文主要内容: 1.工...原创 2018-05-03 05:31:00 · 734 阅读 · 0 评论 -
ASP.NET Core : 十.升级现有Core2.0 项目到2.1
.NET Core 2.1 终于发布了, 赶紧升级一下。一. 安装SDK首先现在并安装 SDK(64-bit)安装完毕后如果新建项目可以看到已经有2.1的选项了二. 更新现有2.0项目到2.11. 修改 项目版本右键点击解决方案管理器中的项目, 选择编辑项目名.csproj将<TargetFramework>netcoreapp2.0</TargetFra...原创 2018-05-31 13:19:00 · 715 阅读 · 0 评论 -
ASP.NET Core : 十一. 如何在后台运行一个任务
在大部分程序中一般都会需要用到后台任务, 比如定时更新缓存或更新某些状态。(ASP.NET Core 系列目录)一、应用场景 以调用微信公众号的Api为例, 经常会用到access_token,官方文档这样描述:“是公众号的全局唯一接口调用凭据,有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效,建议公众号开发者使用中控服务器统一获取和刷新Acces...原创 2018-06-27 06:23:00 · 786 阅读 · 0 评论 -
ASP.NET Core: 十二.内置日志、使用Nlog将日志输出到文件
应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用。 ASP.NET Core提供了内置的日志,但没弄明白这么把它输出到文件, 只能在VS的输出中查看, 谁知道怎么弄告诉我一下。(ASP.NET Core 系列目录) 本例 GitHub一、内置日志的使用 ...原创 2018-07-02 08:30:00 · 908 阅读 · 0 评论 -
ASP.NET Core : 十三.httpClient.GetAsync 报SSL错误的问题
不知什么时候 ,出现了这样的一个奇怪问题,简单的httpClient.GetAsync("xxxx")居然报错了。(ASP.NET Core 系列目录)一、问题描述把原来的程序从2.0升级到2.1,突然发现原本正常运行的httpClient.GetAsync("xxxx")居然不工作了。为了排除项目中其他引用的干扰,新建了一个干净的2.1的项目,Main里直接调用var client ...原创 2018-08-10 09:00:00 · 1665 阅读 · 0 评论 -
ASP.NET Core : 十四.静态文件与访问授权、防盗链
我的网站的图片不想被公开浏览、下载、盗链怎么办?本文主要通过解读一下ASP.NET Core对于静态文件的处理方式的相关源码,来看一下为什么是wwwroot文件夹,如何修改或新增一个静态文件夹,为什么新增的文件夹名字不会被当做controller处理?访问授权怎么做?(ASP.NET Core 系列目录)一、静态文件夹所谓静态文件,直观的说就是wwwroot目录下的一些直接提供给访问者的文件...原创 2018-11-27 06:48:00 · 1218 阅读 · 0 评论 -
ASP.NET Core : 十五.图解路由(2.1 or earler)
本文通过一张图来看一下路由的配置以及请求处理的机制。(ASP.NET Core 系列目录)一、概述路由主要有两个主要功能:将请求的URL与已定义的路由进行匹配,找到该URL对应的处理程序并传入该请求进行处理。根据已定义的路由生成URL这两个功能看起来这两个是相反的。A.路由的配置路由的两个功能都离不开一个基本的操作:路由的基本配置。在Startup中默认通过routes.Ma...原创 2019-01-08 07:43:00 · 752 阅读 · 0 评论 -
ASP.NET Core : 十六.扒一扒新的Endpoint路由方案
ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不大,但从内部运行方式上来说,差别还是很大的。上一篇详细介绍了原版路由方案的运行机制,本文仍然通过一幅图来了解一下新版的运行机制,最后再总结一下二者的异同点。(ASP.NET Core 系列目录)一、概述 此方案从2.2版本开始,被称作终结点路由(下文以“新版”称呼)...原创 2019-01-15 08:35:00 · 854 阅读 · 0 评论 -
ASP.NET Core: 十七.Action的执行(Endpoint.RequestDelegate后面的故事)
上一章介绍了经过路由的处理,一个请求找到了具体处理这个请求的EndPoint,并最终执行它的RequestDelegate方法来处理这个Httpcontext。本章继续这个处理进程,按照惯例,依然通过几幅图来聊一聊这个RequestDelegate之后的故事。在此就避免不了的聊到各种Filter,它方便我们在action执行的前后做一些 “小动作”。(ASP.NET Core...原创 2019-01-25 11:58:00 · 869 阅读 · 0 评论 -
ASP.NET Core 十八.各种Filter的内部处理机制及执行顺序
ASP.NET core 的Filter是系统中经常用到的,本文详细分享一下各种Filter定义、执行的内部机制以及执行顺序。(ASP.NET Core 系列目录)一、 概述ASP.NET Core MVC 中有好几种常用的筛选器,例如Authorization filters 、Resource filters、Action filters 、Exception filters 、Resu...原创 2019-02-22 07:59:00 · 1547 阅读 · 0 评论 -
ASP.NET Core 十九. Action参数的映射与模型绑定
前文说道了Action的激活,这里有个关键的操作就是Action参数的映射与模型绑定,这里即涉及到简单的string、int等类型,也包含Json等复杂类型,本文详细分享一下这一过程。(ASP.NET Core 系列目录)一、概述 当客户端发出一个请求的时候,参数可能存在于URL中也可能是在请求的Body中,而参数类型也大不相同,可能是简单类型的参数,如字符串、整数或浮点数,也可能是复...原创 2019-02-27 06:46:00 · 1121 阅读 · 0 评论 -
ASP.NET Core: 二十. Action的多种数据返回格式处理机制
上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。(ASP.NET Core 系列目录)一、常见的返回类型以系统模板默认生成的Home/Index这个Action来说,为什么当请求它的时候回返回一个Html页面呢?除了这之外,还有JSON、文本等类型,系统是如何处理这些不同的类型的呢?首...原创 2019-09-11 09:02:00 · 1066 阅读 · 0 评论 -
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类
上一章的结尾留下了一个问题:同样是ObjectResult,在执行的时候又是如何被转换成string和JSON两种格式的呢?本章来解答这个问题,这里涉及到一个名词:“内容协商”。除了这个,本章将通过两个例子来介绍如何自定义IActionResult和格式化类。(ASP.NET Core 系列目录)一、内容协商依然以返回Book类型的Action为例,看看它是怎么被转换为JSON类型的。...原创 2019-09-18 09:00:00 · 1133 阅读 · 0 评论 -
ASP.NET Core : 二十二. 多样性的配置方式
大多数应用都离不开配置,本章将介绍ASP.NET Core中常见的几种配置方式及系统内部实现的机制。(ASP.NET Core 系列目录) 说到配置,第一印象可能就是“.config”类型的xml文件或者“.ini”类型的ini文件,在ASP.NET Core中,常用的配置文件类型为JSON。比如项目根目录中的appsettings.json和appsettings.Devel...原创 2019-09-20 08:02:00 · 759 阅读 · 0 评论 -
ASP.NET Core : 二十三. 深入聊一聊配置的内部处理机制
上一章介绍了配置的多种数据源被注册、加载和获取的过程,本节看一下这个过程系统是如何实现的。(ASP.NET Core 系列目录)一、数据源的注册在上一节介绍的数据源设置中,appsettings.json、命令行、环境变量三种方式是被系统自动加载的,这是因为系统在webHost.CreateDefaultBuilder(args)中已经为这三种数据源进了注册,那么就从这个方法说起。这个方法中...原创 2019-09-23 08:04:00 · 953 阅读 · 0 评论 -
ASP.NET Core: 二十四. 配置的Options模式
上一章讲到了配置的用法及内部处理机制,对于配置,ASP.NET Core还提供了一种Options模式。(ASP.NET Core 系列目录)一、Options的使用上一章有个配置的绑定的例子,可以将配置绑定到一个Theme实例中。也就是在使用对应配置的时候,需要进行一次绑定操作。而Options模式提供了更直接的方式,并且可以通过依赖注入的方式提供配置的读取。下文中称每一条Options配...原创 2019-09-27 08:38:00 · 971 阅读 · 0 评论 -
ASP.NET Core: 二十五. TagHelper
什么是TagHelper?这是ASP.NET Core中新出现的一个名词,它的作用是使服务器端代码可以在Razor文件中参与创建和呈现HTML元素。(ASP.NET Core 系列目录)一、概述 上面的解释有点拗口?那么换一个名词,HtmlHelper大家都知道吧,在ASP.NET Core中,TagHelper类似HtmlHelper,但可以说是青出于蓝而胜于蓝。那么TagHe...原创 2019-09-25 08:07:00 · 907 阅读 · 0 评论 -
ASP.NET Core: 二十六. 应用JWT进行用户认证及Token的刷新
本文将通过实际的例子来演示如何在ASP.NET Core中应用JWT进行用户认证以及Token的刷新方案(ASP.NET Core 系列目录)一、什么是JWT?JWT(json web token)基于开放标准(RFC 7519),是一种无状态的分布式的身份验证方式,主要用于在网络应用环境间安全地传递声明。它是基于JSON的,所以它也像json一样可以在.Net、JAVA、JavaScrip...原创 2019-08-27 06:18:00 · 1325 阅读 · 0 评论 -
ASP.NET Core : 二十七. JWT与用户授权(细化到Action)
上一章分享了如何在ASP.NET Core中应用JWT进行用户认证以及Token的刷新,本章继续进行下一步,用户授权。涉及到的例子也以上一章的为基础。(ASP.NET Core 系列目录)一、概述 首先说一下认证(authentication)与授权(authorization),它们经常在一起工作,所以有时候会分不清楚。并且这两个英文单词长得也像兄弟。举例来说,我刷门禁卡进入公司,门禁【...原创 2019-09-03 09:04:00 · 875 阅读 · 0 评论 -
ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用(ASP.NET Core 系列目录)。 系统环境为CentOS 8。一、概述简单说一下Docker的几个概念:记得上学的时候流行一种安装操作系统的方式,叫GHOST,大概是这样的:进入PE系统打开GHOST软件,点击“local”,然后选择“Partition”,最后选择“Fro...原创 2019-10-31 10:53:00 · 726 阅读 · 0 评论