首页 > 其他分享 >.net core web 启动过程(6)-ServiceProvider

.net core web 启动过程(6)-ServiceProvider

时间:2024-08-20 22:15:54浏览次数:11  
标签:core appServices web ServiceProvider serviceProviderFactory containerAction serv

1

 

 [MemberNotNull(nameof(_appServices))]
 private void InitializeServiceProvider()
 {
     var services = new ServiceCollection();

     PopulateServiceCollection(
         services,
         _hostBuilderContext!,
         _hostingEnvironment!,
         _defaultProvider!,
         _appConfiguration!,
         () => _appServices!);

     foreach (Action<HostBuilderContext, IServiceCollection> configureServicesAction in _configureServicesActions)
     {
         configureServicesAction(_hostBuilderContext!, services);
     }

     object containerBuilder = _serviceProviderFactory.CreateBuilder(services);

     foreach (IConfigureContainerAdapter containerAction in _configureContainerActions)
     {
         containerAction.ConfigureContainer(_hostBuilderContext!, containerBuilder);
     }

     _appServices = _serviceProviderFactory.CreateServiceProvider(containerBuilder);
 }

 

标签:core,appServices,web,ServiceProvider,serviceProviderFactory,containerAction,serv
From: https://www.cnblogs.com/hitx/p/18370437

相关文章

  • Web端OA办公后台管理系统(使用AxureRP设计)思路与效果分享
    本期带来一套OA办公后台管理系统(办公一体化)的设计分享。本次的作品设计,使用AxureRP软件。一套实用的后台OA系统,一定是功能强大、能覆盖常用功能的。本次分享的系统,包含组织、员工管理、考勤、薪资、社保公积金、绩效、招聘、审批、会议室预定、车辆申请、新闻发布、公告管理、合......
  • C. Perform Operations to Maximize Score
    原题链接题解着重点:分类讨论+二分中位数首先,由于要求中位数,我们先将数组进行排序;接着我们取遍所有的ai及其对应中位数。此时,分歧产生,我们有k次增值的机会,是加到ai(不会改变中位数)上还是增值后改变中位数(此时中位数可能改变)?显然,我们要分类讨论情况一:我们加到选取的ai上,显然......
  • coredns
      <service>.<ns>.svc.<zone>zone例如:集群本地域名cluster.local   DNS:A记录、SRV记录、PTR记录的作用A记录(AddressRecord):用于将域名指向一个IPv4地址。例如,将www.example.com指向192.0.2.1。SRV记录(ServiceRecord):用于定义提供特定服务的服务......
  • 2、coredump文件的配置
    1、开启core文件的生成使用ulimit-a命令查看是否打开core文件,如果大小为0,则表明没有打开,如果非0,则表明打开,本人虚拟机上已经设置为unlimited,所以已经打开(1)临时打开使用ulimit-c命令打开,如设置为无限制,则使用ulimit-cunlimited(2)永久打开sudovim /etc/security/limits.c......
  • CoreData 核心指南:Swift 中的数据持久化之道
    标题:CoreData核心指南:Swift中的数据持久化之道引言在Swift开发中,数据持久化是一个不可或缺的部分。CoreData作为Apple官方提供的数据管理框架,为iOS、macOS、watchOS和tvOS应用提供了强大的数据存储解决方案。本文将带领读者深入了解如何在Swift中使用CoreDa......
  • webpack 热更新实现原理
    修改entry配置首先通过启动webpack-dev-server会修改webpack.config.js的entry配置,新增两个入口文件:webpack-dev-server/client/index.jswebpack/hot/dev-server.jswebpack-dev-server/client/index.js包含的是客户端向服务端通信的相关代码。webpack/hot/dev-s......
  • .net core 自定义异常信息
    思路:在startup.cs的configservice中配置一下,异常实现 ExceptionFilterAttribute接口 1publicclassExceptionConfig2{3publicstaticvoidConfigureServices(IServiceCollectionservices)4{5//自定义捕捉异常6services.AddCont......
  • .net core手写一个授权策略
    思路:.netcore中鉴权成功后,表示可以登录进来call网站api,但是哪些api可以call通,哪些api没有权限,则通过授权来控制这里手写几个类型授权策略:1:AdminPolicy:角色必须为admin 的才能访问api 2:  MutiPolicy:要求角色必须为admin,且用户名为liping,国家为china 的才能访问api......
  • .net core 手写一个url的鉴权
    思路::在startup.cs的configservice中配置自定义鉴权方式,在界面使用该方式本章节实现一个简单的自定义鉴权:要求每个url后面要有参数UrlToken并且值为liping-123456,才可以访问成功,否则失败 1:配置一个自定义鉴权的文件1publicclassCustomerAuthenticationConfig2{3......
  • web的发展历史,互联网和万维网的关系
    OpenSNN开思通智网,官网地址:https://w3.opensnn.com/2024年8月份"O站创作者招募计划"快来O站写文章,千元大奖等你来拿!“一起来O站,玩转AGI!”web的发展历史Web(万维网,WorldWideWeb)的发展历史是一段非常重要的技术进步和社会变革的历程。以下是Web发展的关键阶段:1.Web的诞生......