首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在.NET核心3中添加全局价值?

如何在.NET核心3中添加全局价值?
EN

Stack Overflow用户
提问于 2020-08-05 08:04:40
回答 2查看 109关注 0票数 0

我需要设置全局值,并从项目中的任何位置读取它。场景是什么,如果AddSingleton是怎样的?

我见过这个,但它对我不起作用:Global Variables in ASP.Net Core 2

EN

回答 2

Stack Overflow用户

发布于 2020-08-05 09:50:50

如果你想全局读取一个静态值,我建议使用configuration system。它允许在需要读取的任何地方注入配置。

如果您需要共享可以更改的数据,则需要一些共享线程安全机制。框架中内置的一种选择是使用in-memory cache,它是一个全局共享缓存,可以在任何地方注入。

票数 0
EN

Stack Overflow用户

发布于 2020-08-05 10:00:29

Noah的答案非常好,但是对于更简单的情况,您通常希望:

  1. 在根命名空间中创建一个保存所有数据的静态类

public static class缓存{ public static string Value1 => "Example";public static int Value2 => 42;}

  1. Done

您可以在系统范围内访问它的值,如下所示:

代码语言:javascript
复制
var mySharedStringValue = Cache.Value1;

如果需要在启动时“加载”这些值,可以将属性的签名更改为

代码语言:javascript
复制
public static string Value1 { get; private set; } 

并使用应用程序启动时在Startup.cs类中调用的static constructor或简单的静态初始化方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63256642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档