加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 建站 > 正文

ASP.NET Core使用HostingStartup增强启动操作方法详解

发布时间:2020-12-10 17:29:04 所属栏目:建站 来源:网络整理
导读:副标题#e# 在ASP.NET Core中我们可以使用一种机制来增强启动时的操作,它就是HostingStartup。如何叫"增强"操作,相信了解过AOP概念的同学应该都非常的熟悉。我们常说AOP使用了关注点分离的方式,增强了对现有逻辑的操作。而我们今天要说的HostingStartup就

这里我们通过需要配置ASPNETCORE_HOSTINGSTARTUPASSEMBLIES名称可以看出确实是使用了HostingStartup功能,而通过HostingStartup增强的操作入口肯定就在SkyAPM.Agent.AspNetCore程序集中,我们找到SkyAPM.Agent.AspNetCore程序集的源码[点击查看源码👈]看到了SkyApmHostingStartup类实现如下

using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using SkyApm.Agent.AspNetCore; using SkyApm.AspNetCore.Diagnostics; [assembly: HostingStartup(typeof(SkyApmHostingStartup))] namespace SkyApm.Agent.AspNetCore { internal class SkyApmHostingStartup : IHostingStartup { public void Configure(IWebHostBuilder builder) { builder.ConfigureServices(services => services.AddSkyAPM(ext => ext.AddAspNetCoreHosting())); } } }

通过这个我们可以看出确实如此,当然也是等同于我们通过UseSetting(WebHostDefaults.HostingStartupAssembliesKey, "SkyApm.Agent.AspNetCore")去配置,我们甚至可使用如下的方式去使用SkyAPM-dotnet

public void ConfigureServices(IServiceCollection services) { services.AddSkyAPM(ext => ext.AddAspNetCoreHosting()) }

这些写法其实是完全等价的,但是通过环境变量的方式配置HostingStartup启动程序集的方式无疑是最优雅的。所以我们在日常的学习开发中,最好还是通过这种方式去操作。

改造Zipkin使用

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读