蒋金楠

LV1
发表了文章

[ASP.NET Core MVC] 如何实现运行时动态定义Controller类型?

昨天有个朋友在微信上问我一个问题:他希望通过动态脚本的形式实现对ASP.NET Core MVC应用的扩展,比如在程序运行过程中上传一段C#脚本将其中定义的Co...

蒋金楠
发表了文章

《ASP.NET Core 3框架揭秘》勘误[逐步完善中…]

蒋金楠
发表了文章

性能计数器在.NET Core中的新玩法

传统的.NET Framework提供的System.Diagnostics.PerformanceCounter类型可以帮助我们收集Windows操作系统下物...

蒋金楠
发表了文章

通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[下篇]:参数绑定

模拟框架到目前为止都假定Action方法是没有参数的,我们知道MVC框架对Action方法的参数并没有作限制,它可以包含任意数量和类型的参数。一旦将“零参数”的...

蒋金楠
发表了文章

用最简单的方式在ASP.NET Core应用中实现认证、登录和注销

本篇文章节选自《ASP.NET Core 3框架揭秘》(下册),针对本书的限时5折优惠截至到今天24时,有兴趣的朋友可以通过加入读者群进行购买。入群方式:扫描右...

蒋金楠
发表了文章

ASP.NET Core应用的7种依赖注入方式

构成HostBuilderContext上下文的两个核心对象(表示配置的IConfiguration对象和表示承载环境的IHostEnvironment对象)可...

蒋金楠
发表了文章

通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[中篇]:请求的响应

《200行代码,7个对象——让你了解ASP.NET Core框架的本质》让很多读者对ASP.NET Core管道有了真实的了解。在过去很长一段时间中,有很多人私...

蒋金楠
ASP.NET
发表了文章

通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[上篇]:路由整合

《200行代码,7个对象——让你了解ASP.NET Core框架的本质》让很多读者对ASP.NET Core管道有了真实的了解。在过去很长一段时间中,有很多人私...

蒋金楠
ASP.NET
发表了文章

200行代码,7个对象——让你了解ASP.NET Core框架的本质[3.x版]

2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个分享。在此次分享中,我按照ASP.NET Core自身的运行原理和设计思想创建了一个...

蒋金楠
发表了文章

[ASP.NET Core 3框架揭秘] 服务承载系统[1]: 承载长时间运行的服务[上篇]

借助.NET Core提供的承载(Hosting)系统,我们可以将任意一个或者多个长时间运行(Long-Running)的服务寄宿或者承载于托管进程中。ASP....

蒋金楠
发表了文章

[ASP.NET Core 3框架揭秘] 服务承载系统[2]: 承载长时间运行的服务[下篇]

真正的应用开发总是会使用到配置选项,如演示程序中性能指标采集的时间间隔就应该采用配置选项的方式来指定。由于涉及对性能指标数据的发送,所以最好将发送的目标地址定义...

蒋金楠
发表了文章

[ASP.NET Core 3框架揭秘]服务承载系统[3]:总体设计[上篇]

前面的实例演示了服务承载的基本编程模式,接下来我们从设计的角度来重新认识服务承载模型。总的来说,服务承载模型主要由如下图所示的三个核心对象组成:多个通过IHos...

蒋金楠
发表了文章

[ASP.NET Core 3框架揭秘]服务承载系统[4]:总体设计[下篇]

在了解了作为服务宿主的IHost接口之后,我们接着来认识一下作为宿主构建者的IHostBuilder接口。如下面的代码片段所示,IHostBuilder接口的核...

蒋金楠
发表了文章

[ASP.NET Core 3框架揭秘]服务承载系统[5]: 承载服务启动流程[上篇]

Host类型是对IHost接口的默认实现,它仅仅是定义在NuGet包“Microsoft.Extensions.Hosting”中的一个内部类型,由于我们在本节...

蒋金楠
发表了文章

[ASP.NET Core 3框架揭秘]服务承载系统[6]: 承载服务启动流程[下篇]

实际上HostBuilder对象并没有在实现的Build方法中调用构造函数来创建Host对象,该对象利用作为依赖注入容器的IServiceProvider对象创...

蒋金楠
发表了文章

[ASP.NET Core 3框架揭秘] Options[7]: 与配置系统的整合

Options模型本身与配置系统完全没有关系,但是配置在大部分情况下会作为绑定Options对象的数据源,所以有必要将两者结合在一起。与《扩展与定制》演示的两个...

蒋金楠
编程算法
发表了文章

[ASP.NET Core 3框架揭秘] Options[6]: 扩展与定制

由于Options模型涉及的核心对象最终都注册为相应的服务,所以从原则上讲这些对象都是可以定制的,下面提供几个这样的实例。由于Options模型提供了针对配置系...

蒋金楠
JSON编程算法
发表了文章

[ASP.NET Core 3框架揭秘] Options[5]: 依赖注入

《Options模型》介绍了组成Options模型的4个核心对象以及它们之间的交互关系,读者对如何得到Options对象的实现原理可能不太了解,本篇文章主要介绍...

蒋金楠
ASP.NET编程算法
发表了文章

[ASP.NET Core 3框架揭秘] Options[4]: Options模型[下篇]

IOptionsFactory<TOptions>解决了Options的创建与初始化问题,但由于它自身是无状态的,所以Options模型对Options对象实施...

蒋金楠
缓存编程算法
发表了文章

[ASP.NET Core 3框架揭秘] Options[3]: Options模型[上篇]

通过前面演示的几个实例(配置选项的正确使用方式[上篇]、配置选项的正确使用方式[下篇]),我们已经对基于Options的编程方式有了一定程度的了解,下面从设计的...

蒋金楠

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券