gpt4 book ai didi

c# - 如何在启动期间通过调用 ASP.NET Core 中的外部 API 在每个应用程序生命周期中初始化一次属性或变量?

转载 作者:行者123 更新时间:2023-12-05 07:02:45 24 4
gpt4 key购买 nike

我需要在启动期间通过调用外部 API 在每个应用程序生命周期中初始化一次属性或变量(实际上是一个字符串值),然后在另一个类中使用它(最好通过 DI 或者可能通过一些帮助类?) .实现这一目标的最佳方法是什么?我不确定我是否可以在这里使用配置参数,因为这个值将在运行时通过外部 API 调用获得。但我希望在启动期间只调用一次,并为整个应用程序生命周期设置值。

最佳答案

最简单的做法是创建一个带有变量静态参数的类,并且仅在它为 null 时调用 API 来获取它。然后在 DI 中,您只需将此类声明为 Singleton。

很喜欢

public class MyConfig
{
private static readonly string _configVal;
public static readonly string ConfigVal
{
get
{
if(String.IsNullOrEmpty(_configVal))
{
_configVal = GetApiValue();
}
return _configVal;
}
}
}

在 Startup.cs 中:

service.AddSingleton<MyConfig>();

关于c# - 如何在启动期间通过调用 ASP.NET Core 中的外部 API 在每个应用程序生命周期中初始化一次属性或变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63445873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com