如何在 ASP.NET Core Web API 应用程序中创建全局变量?

Arj*_*air 9 c# asp.net-core

如何在 ASP.NET Core Web API 应用程序中创建全局变量?在 ASP.NET MVC 中,我可以这样做:

Application["<variableName>"] = <value>

我在我的 Web API 应用程序中尝试了相同的方法,但无法找到等效的方法。我看到一些建议我存储数据的解决方案appsettings.json,但由于我想存储在全局变量中的数据不是静态的,所以我无法使用该设置。我需要在运行时设置不同的数据。我怎样才能做到这一点?请帮我。

pm1*_*100 7

项目中的某个地方

public static class Config{
       public static Dictionary<string,string> Application = new Dictionary<string,string>();
}
Run Code Online (Sandbox Code Playgroud)

别处

Config.Application["froop"] = "noodle";
Run Code Online (Sandbox Code Playgroud)

当然你必须处理竞争条件等


Arj*_*air 5

首先感谢大家抽出时间来帮助我。我采用了@pm100的解决方案并做了一些轻微的修改以适合我的目的。我无法直接使用它,因为我正在使用 SonarLint,并且它有一些问题,所以我使用了 aKeyValuePair而不是Dictionary这样:

public static class GlobalData
{
  public static KeyValuePair<string,object> Application { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在我的代码中使用了它,例如:

string value = GlobalData.Application.Value

幸运的是它可以正常工作,没有任何问题。