首页 > 编程语言 >asp.net core 如何通过服务定位器的方式获取注入的服务

asp.net core 如何通过服务定位器的方式获取注入的服务

时间:2023-10-24 09:56:48浏览次数:35  
标签:core 定位器 asp 服务 获取 Instance ServiceLocator net

1、在Controller中可以通过HttpContext获取Services,然后获取到注入的服务

var hostEnvironment2 = HttpContext.RequestServices.GetRequiredService<IHostEnvironment>();

2、利用静态类方式获取

Public Static Class ServiceLocator
{
    public static IServiceProvider Instance{get;set;}
}

// 在program.cs中给ServiceLocator.Instance赋值
ServiceLocator.Instance = app.Services;


//其他地方使用
var test = ServiceLocator.Instance.GetService<ITestService>();

参考:https://blog.csdn.net/WuLex/article/details/122142832

标签:core,定位器,asp,服务,获取,Instance,ServiceLocator,net
From: https://www.cnblogs.com/lixiang1998/p/17784041.html

相关文章

  • Hello-FPGA CoaXPress 2.0 FPGA HOST IP Core PCIe Demo User Manual
     目录1说明42设备连接73VIVADOFPGA工程84调试说明9图1‑1资料目录4图1‑2VIVADO工程目录结构5图1‑3VS软件工程目录5图1‑4CXPHOSTPCIeBlockDesign5图1‑5VS工程6图1‑6CXPcamera6图1‑7KC705搭载Hello-FPGACoaXPress2.0FMC子......
  • B. Raspberries
    B.RaspberriesYouaregivenanarrayofintegers$a_1,a_2,\ldots,a_n$andanumber$k$($2\leqk\leq5$).Inoneoperation,youcandothefollowing:Chooseanindex$1\leqi\leqn$,Set$a_i=a_i+1$.Findtheminimumnumberofoperation......
  • go-ethereum-master/core/vm/stack.go 源码阅读
    //Copyright2014Thego-ethereumAuthors//Thisfileispartofthego-ethereumlibrary.////Thego-ethereumlibraryisfreesoftware:youcanredistributeitand/ormodify//itunderthetermsoftheGNULesserGeneralPublicLicenseaspublishedby......
  • net core 在windows 下部署服务
    参考来源https://www.jb51.net/article/265865.htm首先要指定配置文件,否则运行的时候找不到appsettings.json,在使用sccreate创建Windows服务时,确实存在一个问题,即服务的默认工作目录是C:\Windows\System32,而不是服务的可执行文件所在的目录。这就是为什么你的服务找不......
  • CF1883C Raspberries
    思路最开始晃眼一看,感觉很难,仔细一读题,哦,原来\(k\in[2,5]\)啊。首先如果\(k\)是质数,也就是\(k\)不等于\(4\)的情况,必须要有一个数是\(k\)的倍数,那么计算每个数需要的操作数,取最小即可。如果\(k\)不是质数,也就是\(k\)等于\(4\)的情况,要么是一个数是\(4\)的倍......
  • NetCore windowsService 看门狗应用程序
    publicclassDogService:BackgroundService{publicoverrideTaskStartAsync(CancellationTokencancellationToken){returnbase.StartAsync(cancellationToken);}///<summary>///每一秒执行一次......
  • coredns readiness检查失败
    k8s1.19.0问题现象corednspod因readiness检查失败而无法ready。删除pod后依然无法恢复。问题分析根据kubelet日志,coredns接口检查返回503。查看coredns日志,发现无法正常访问kube-apiserver。容器内curl不通,但是宿主机上可以。查看flannel日志,发现flannel作用的podi......
  • NETCORE DockerFile
    1.DockerFile配置rm-rfDockerfilecat>>Dockerfile<<EOFFROMmcr.microsoft.com/dotnet/aspnet:3.1ASbase#RUNapkadd--no-cacheicu-libsEXPOSE80EXPOSE443#buildFROMmcr.microsoft.com/dotnet/sdk:3.1ASbuildRUNdotnetnugetaddsource......
  • ASP.net百度主动推送功能实现
    百度站长提供了curl、post、php、ruby的实现示例,并没有C#的官方示例。既然提供了post的方式,那么就可以用C#实现,下面是实现代码:ASP.net百度主动推送代码范例publicstaticstringPostUrl(string[]urls){try{stringformUrl="http://......
  • Sitecore 里删除 Item 报错 Could not create SSL/TLS secure channel.
    解决方法:前往mmc里添加你的域名win+r输入mmc打开下图面板;......