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

在了解了作为服务宿主的IHost接口之后,我们接着来认识一下作为宿主构建者的IHostBuilder接口。如下面的代码片段所示,IHostBuilder接口的核心方法Build用来提供由它构建的IHost对象。除此之外,它还具有一个字典类型的只读属性Properties,我们可以将它视为一个共享的数据容器。 作为一个典型的设计模式,Builder模式在最终提供给由它构建的对象之前,一般会允许作相应 ...

2020-03-05 08:01 6 2135 推荐指数:

查看详情

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

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

Wed Mar 04 16:12:00 CST 2020 4 3987
[ASP.NET Core 3框架揭秘]服务承载系统[6]: 承载服务启动流程[下篇]

实际上HostBuilder对象并没有在实现的Build方法中调用构造函数来创建Host对象,该对象利用作为依赖注入容器的IServiceProvider对象创建的。为了可以采用依赖注入框架来提供构建的Host对象,HostBuilder必须完成前期的服务注册工作。总地来说,HostBuilder ...

Thu Mar 12 16:24:00 CST 2020 4 1785
[ASP.NET Core 3框架揭秘] 服务承载系统[2]: 承载长时间运行的服务[下篇]

三、配置选项 真正的应用开发总是会使用到配置选项,如演示程序中性能指标采集的时间间隔就应该采用配置选项的方式来指定。由于涉及对性能指标数据的发送,所以最好将发送的目标地址定义在配置选项中。如果有多种传输协议可供选择,就可以定义相应的配置选项。.NET Core应用推荐采用Options模式来使 ...

Tue Mar 03 17:16:00 CST 2020 3 2529
[ASP.NET Core 3框架揭秘] 配置[3]:配置模型总体设计

在《读取配置数据》([上篇],[下篇])上面一节中,我们通过实例的方式演示了几种典型的配置读取方式,接下来我们从设计的维度来重写认识配置模型。配置的编程模型涉及到三个核心对象,分别通过三个对应的接口(IConfiguration、IConfigurationSource ...

Tue Dec 10 16:03:00 CST 2019 14 3954
[ASP.NET Core 3框架揭秘] 服务承载系统[1]: 承载长时间运行的服务[上篇]

借助.NET Core提供的承载(Hosting)系统,我们可以将任意一个或者多个长时间运行(Long-Running)的服务寄宿或者承载于托管进程中。ASP.NET Core应用仅仅是该承载系统的一种典型的服务类型而已,任何需要在后台长时间运行的操作都可以定义成标准化的服务并利用该系统承载 ...

Mon Mar 02 19:17:00 CST 2020 7 4584
[ASP.NET Core 3框架揭秘]服务承载系统[5]: 承载服务启动流程[上篇]

我们在《总体设计[上篇]》和《总体设计[下篇]》中通过对IHostedService、IHost和IHostBuider这三个接口的介绍让读者朋友们对服务承载模型有了大致的了解。接下来我们从抽象转向具体,看看承载系统针对该模型的实现是如何落地的。要了解承载模型的默认实现,只需要了解IHost接口 ...

Sun Mar 08 20:34:00 CST 2020 3 3328
ASP.NET Core中的依赖注入(5): ServiceProvider实现揭秘总体设计

本系列前面的文章我们主要以编程的角度对ASP.NET Core的依赖注入系统进行了详细的介绍,如果读者朋友们对这些内容具有深刻的理解,我相信你们已经可以正确是使用这些与依赖注入相关的API了。如果你还对这个依赖注入系统底层的实现原理具有好奇心,可以继续阅读这一节的内容。 目录 ...

Tue Apr 12 06:14:00 CST 2016 11 13993
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM