ASP.NET Core:如何在Program.cs调用ISecretManager配置Redis缓存
在ASP.NET Core Program.cs中获取Redis密钥配置的解决方案
完全可以在Program.cs中实现,只需使用AddStackExchangeRedisCache的重载方法,该方法支持传入IServiceProvider来获取已注册的服务实例。
具体实现代码
Services.AddStackExchangeRedisCache((serviceProvider, options) => { var secretManager = serviceProvider.GetRequiredService<ISecretManager>(); options.Configuration = secretManager.Get("REDIS"); });
关键说明
- 这个重载委托允许你在配置Redis缓存选项时,直接从服务容器中获取已注册的
ISecretManager,因为你已经提前完成了它的依赖注入注册,所以可以正常调用。 - 使用
GetRequiredService<ISecretManager>()比GetService<ISecretManager>()更可靠,它会在服务未注册时直接抛出异常,避免后续出现空引用的潜在问题。
内容的提问来源于stack exchange,提问作者Master
相关产品推荐
相关产品推荐

