C# 如何使用MVC6依赖项注入方法

C# 如何使用MVC6依赖项注入方法,c#,asp.net-core-mvc,.net-core,C#,Asp.net Core Mvc,.net Core,我有一个翻译服务,我需要公开一个我想在我的应用程序中使用的属性 services.AddScoped<IMyTranslator, MyTranslator>(); services.addScope(); 我使用services.AddScoped注册此接口及其实现。当我为MyTranslator的构造函数设置断点时,我可以看到这个类一直在初始化 我无法使用AddSingleton,因为它在所有会话中共享。我不能更改一个用户的语言,因为另一个用户更改了一次语言。 我需要一个方法

我有一个翻译服务,我需要公开一个我想在我的应用程序中使用的属性

services.AddScoped<IMyTranslator, MyTranslator>();
services.addScope();
我使用services.AddScoped注册此接口及其实现。当我为MyTranslator的构造函数设置断点时,我可以看到这个类一直在初始化

我无法使用AddSingleton,因为它在所有会话中共享。我不能更改一个用户的语言,因为另一个用户更改了一次语言。
我需要一个方法,将初始化我的中间件每会话一次

服务。AddScoped的作用域已限定为用户请求,每次用户请求到达服务器时,都会创建一个实例来仅服务于此特定请求,而不会与其他用户共享。

目前情况下,您提出的问题不清楚,可能会被关闭。你的问题是什么,你有什么问题或试图实现什么?当你说一直初始化时,你是说每次在请求中使用接口时,类都被初始化了吗?您能否向我们展示您注册该服务所使用的代码?要提出一个社区可以回答的问题,请用清晰的语言提出一个问题,描述问题、您希望实现的目标以及您已经尝试或研究过的任何内容。在可能的情况下,包括最低限度地再现代码示例。看,是的,我知道。我的中间件不需要再次创建,我仍然可以使用第一次创建的相同实例。是否有任何方法调用services.AddSingleSession类似的东西我不明白,您需要在每个会话中使用中间件,但同时您不希望为每个请求创建中间件!不,AddScope现在可以工作了,但是实例总是一样的,那么就没有必要每次都创建它了,不是吗?我的中间件上有一个名为current language的属性,我不能使用AddSingleton。我需要介于两者之间的东西。你能给我们看看你的中间件属性的声明吗?
公共接口imytransationstore{TranslationDataShared TranslationData{get;set;}}
它是一个处理语言状态、事件和数据库的服务,用于存储和检索数据