我需要设置全局值,并从项目中的任何位置读取它。场景是什么,如果AddSingleton是怎样的?
我见过这个,但它对我不起作用:Global Variables in ASP.Net Core 2
发布于 2020-08-05 09:50:50
如果你想全局读取一个静态值,我建议使用configuration system。它允许在需要读取的任何地方注入配置。
如果您需要共享可以更改的数据,则需要一些共享线程安全机制。框架中内置的一种选择是使用in-memory cache,它是一个全局共享缓存,可以在任何地方注入。
发布于 2020-08-05 10:00:29
Noah的答案非常好,但是对于更简单的情况,您通常希望:
public static class缓存{ public static string Value1 => "Example";public static int Value2 => 42;}
您可以在系统范围内访问它的值,如下所示:
var mySharedStringValue = Cache.Value1;如果需要在启动时“加载”这些值,可以将属性的签名更改为
public static string Value1 { get; private set; } 并使用应用程序启动时在Startup.cs类中调用的static constructor或简单的静态初始化方法。
https://stackoverflow.com/questions/63256642
复制相似问题