首页 > 其他分享 >.net core利用中间件获取IHttpContextAccessor

.net core利用中间件获取IHttpContextAccessor

时间:2023-03-24 23:46:21浏览次数:40  
标签:core IHttpContextAccessor ServiceProviderInstance 获取 app 中间件 Instance net public

1、建立一个静态类

    public class ServiceProviderInstance
    {
        public static IServiceProvider Instance { get; set; }
    }

2、在应用初始化过程中,WebHostBuilder会利用ServiceCollection来创建新的ServiceProvider来供系统使用,所以我们在Startup类的Configure方法中,通过ApplicationBuilder的ApplicationServices属性就能获取到系统的ServiceProvider实例,在此我们利用ServiceProviderInstance的Instance属性保存当前的IServiceProvider以供系统后面使用 

.net 5写法

参考:https://www.cnblogs.com/lex-wu/p/10528109.html

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
            ...
            ServiceProviderInstance.Instance = app.ApplicationServices;
}

.net 6 写法

ServiceProviderInstance.Instance = app.Services;

参考:https://stackoverflow.com/questions/70321946/net-6-di-applicationservices-not-contains-in-webapplication

3、使用,在需要的位置通过静态属性获取对应的实例

Claims = ServiceProviderInstance.Instance.GetRequiredService<IClaimsAccessor>();

 

标签:core,IHttpContextAccessor,ServiceProviderInstance,获取,app,中间件,Instance,net,public
From: https://www.cnblogs.com/superfeeling/p/17253695.html

相关文章

  • 使用 class sap.ui.core.UIComponent.createContent 创建 Component 实例
    SAPUI5中,sap.ui.core.UIComponent和sap.ui.core.Component是两个不同的概念,但它们之间有联系。sap.ui.core.Component是SAPUI5框架中的一个基类,用于封装应用程序或控......
  • .net core 自定义异常中间件
    前言在程序设计中,我们会遇到各种各样的异常问题,一个好的异常处理解决方案能够帮助开发者快速的定位问题,也能够给用户更好的用户体验。异常处理的几种方式1、通过异常过......
  • 专业视频编辑软件会声会影(Corel VideoStudio)2023新功能介绍
    会声会影(CorelVideoStudio)2023为加拿大Corel公司发布的一款功能丰富的视频编辑软件。会声会影2023简单易用,具有史无前例的强大功能,拖放式标题、转场、覆叠和滤镜,色彩分级、......
  • 26-中间件
    #1.创建.py模块编写中间件importsysfromdjango.httpimportHttpResponsefromdjango.shortcutsimportredirectfromdjango.urlsimportreve......
  • 使用C#&.NET Core编程实现获取所有Windows服务列表及对Windows服务(Windows Service)
    使用C#&.NETCore编程实现获取所有Windows服务列表及对Windows服务(WindowsService)的启动/停止/重启的方法原文链接:https://codedefault.com/p/start-stop-restart-inst......
  • 在aspnetcore中实现AOP的方式
    aaspnetcore开发框架中实现aop不仅仅在业务上,在代码的优雅简洁和架构的稳定上都有着至关重要。下面介绍三种用过的。 第一种使用DispatchProxy实现通过使用System.Re......
  • aspnetcore中aop的实现
    aaspnetcore开发框架中实现aop不仅仅在业务上,在代码的优雅简洁和架构的稳定上都有着至关重要。下面介绍三种用过的。 第一种通过System.Reflection的DispatchProxy类来......
  • .net core 关于对swagger的UI(Index.html)或接口的权限验证;
    背景:如何在ASP.NetCore的生产环境中保护swaggerui,也就是index.html页面。其实swagger是自带禁用的功能的,只需要设置开关即可。但是有一些场景,是需要把这些接口进行开放......
  • 28、服务发现-CoreDNS、会话粘滞、无头服务
    1、基础知识1.1、需求在传统的系统部署中,服务运行在一个固定的已知的IP和端口上,如果一个服务需要调用另外一个服务,可以通过地址直接调用,但是,在虚拟化或容器话的环境......
  • Asp.net Core 全局异常处理
    中间件方式建立中间件处理类Startup.cs中注册任何Controller中的Action抛出异常均可被捕捉在项目根目录下自建目录Middleware新建中间件类ErrorHandlerMiddleware......