如何声明全局变量并在 .net 6 web api 控制器中访问它们?

How to delare global variables and access them in .net 6 webapi controllers?

我正在使用 VS2022 创建一个 webapi(.net6) 项目并尝试声明将在 webapi 控制器中使用的一些全局变量。我这样做的方式:

在项目的顶级文件夹中声明类型为字典的静态变量:

namespace CenterWebApiHub
{
    public static class ParkCenterConfigs
    {
        public static ConcurrentDictionary<string, string> MapToConnections = new 
            ConcurrentDictionary<string, string>();
     }
}

如何从 Webapi 控制器访问这个静态词典?请帮助

如果应该是read-only,比如设置,你应该看看依赖注入。可以找到文档 here

如果要写入这个变量,就需要另外一个概念了。当您的应用程序池回收并且它根本不可扩展时,无法保证此变量不会被擦除。如果您需要对您的应用程序进行负载平衡,一台服务器内存中的变量将无法解决问题。

你没有说你需要它做什么,但是内存中的全局变量是最糟糕的处理方式。也许你应该从寻找你想做的事情的概念开始。我敢肯定其他人以前处理过,看看他们是怎么做的以及为什么。