繁体   English   中英

ASP.NET 内核 - 使用 singleton 中的配置

[英]ASP.NET Core - use configurations in singleton

如何使用IConfiguration初始化 singleton?

public class Singleton
{
    Singleton(string apiKey)
    {
        this.apiKey = apiKey;
    }
    private static readonly object instanceGeneratorLock = new object();
    private static Singleton instance = null;
    private readonly string apiKey;
    public static Singleton Instance
    {
        get
        {
            if (instance == null)
            {
                lock (instanceGeneratorLock)
                {
                    if (instance == null)
                    {
                        /* use IConfiguration here */
                        var apiKey = System.Configuration.ConfigurationManager.AppSettings["ApiKey"];                            
                        instance = new Singleton(apiKey);
                    }
                }
            }
            return instance;
        }
    }
}

我建议您使用注入依赖项的 singleton ,而不是手动创建 singleton 并像定期一样使用它。 这很容易实现,可以像这样在Startup.csConfigureServices方法中完成:

services.AddSingleton(typeof(Singleton));

这将注册您的Singleton ,从那时起,它将能够被注入到通过依赖注入 (DI) 构造的任何其他 class 中。
对于不同的用例,有多个重载,所有这些都记录在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM