Asp.net core 如何在asp.net 2.1核心应用程序的启动类中注册IHttpContextAccessor?

Asp.net core 如何在asp.net 2.1核心应用程序的启动类中注册IHttpContextAccessor?,asp.net-core,Asp.net Core,我们有一个应用程序,其中只有一个用户的User.Identity.Name为null。我已经声明IHttpContextAccessor为静态,如下所示 public static IHttpContextAccessor HttpContextAccessor; 我在网上找到了一些东西。Asp.net核心将允许一次并发请求。若我们将IHttpContextAccessor声明为静态,那个么它将仅对第一个请求有效。请参阅 根据上面的参考,我已经将IHttpContextAccessor声明从

我们有一个应用程序,其中只有一个用户的User.Identity.Name为null。我已经声明IHttpContextAccessor为静态,如下所示

public static IHttpContextAccessor HttpContextAccessor;
我在网上找到了一些东西。Asp.net核心将允许一次并发请求。若我们将IHttpContextAccessor声明为静态,那个么它将仅对第一个请求有效。请参阅

根据上面的参考,我已经将IHttpContextAccessor声明从静态更改为只读。我还更改了IHttpContextAccessor声明的类,该类从静态更改为非静态。所以我创建了一个对象来访问我们访问该类成员的位置中的类成员

但在startup类中,我可以在configure方法中看到下面的代码。由于我已将IHttpContextAccessor声明为只读,因此下面的代码会出现以下编译错误

getScopedServices.HttpContextAccessor = services.GetService<IHttpContextAccessor>();
getScopedServices.HttpContextAccessor=services.GetService();

以上代码的用途是什么?我已经在下面的配置服务部分将IHttpContextAccessor注册为singleton。我们真的需要上面的代码吗

 #region Singleton

        services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();

        #endregion Singleton
#区域单例
services.AddSingleton();
#端区单态
如果我们从代码中删除下面的行,会发生什么?请帮我做这个

getScopedServices.HttpContextAccessor = services.GetService<IHttpContextAccessor>();
getScopedServices.HttpContextAccessor=services.GetService();

startup.cs
中,需要通过调用以下命令来注入它:
services.AddHttpContextAccessor()
然后您可以使用
IHttpContextAccessor
对象进入DI类:我们不建议您将httcontextaccessor注册为Singleton,因为httcontextaccessor是按请求注册的。如果您将其注册为Singleton,它将永远不会更改。此外,我们不明白你们的实际要求是什么。您的意思是想在startup.cs的configure方法中使用httcontextaccessor吗?您的意思是我们只需要添加服务。AddHttpContextAccessor();在startup.cs中,我们可以从startup.cs文件中删除以下代码,对吗?getScopedServices.HttpContextAccessor=services.GetService()#region Singleton services.AddSingleton()#endregion Singletony我的要求是在DI类中将IHttpContextAccessor对象声明从静态更改为只读。如果我将其更改为只读,则在下面的行getScopedServices.HttpContextAccessor=services.GetService()中会出现编译错误;我们真的需要startup.cs文件中的这一行吗?如果我们移除它会发生什么?删除HttpContextAccessor后,在startup.cs中注册HttpContextAccessor的最佳方法是什么?