如何从 StartSession StartSession 方法访问另一个单例服务?

How do access another singletone service from IStartSession StartSession method?

我使用 问题已接受答案来劫持会话开始。

但是 - 当我拦截新的会话启动时,我无法访问其他全局服务,其中包含我在每次会话启动和用户请求时所需的数据。

在旧的 ASP.NET MVC 5 项目中,我在 Application_AcquireRequestState 事件的 Global.asax 完成了所有工作。

我需要访问我在 Startup.cs

中的 ConfigureServices 添加的服务
            services.AddSingleton<LocalisedResources>(
            sp => new LocalisedResources(Configuration.GetConnectionString("DefaultConnection")));

我错过了什么?

事实证明 - 与会话无关。

post 中找到了答案,而且很简单。

添加InistSession服务时需要添加Required服务

            services
            .AddSingleton<IStartSession, InitSession>(serviceProvider =>
            new InitSession(serviceProvider.GetRequiredService<LocalisedResources>()));