[英]How to inject IConfiguration in asp.net core 6
web/api 應用程序中不再有 Startup.cs。
我們曾經能夠將IConfiguration
注入到Startup
class 中。
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration
}
...
}
現在那些添加服務和配置代碼已移至Program.cs ,從那里訪問配置的正確方法是什么?
您可以在ConfigureServices
中將IConfiguration
實例作為 singleton object 添加到服務集合中:
public void ConfigureServices(IServiceCollection service){ services.AddSingleton<IConfiguration>(Configuration); // ...} }
這允許您在任何控制器或類中注入IConfiguration
:
public class UserController{public UserController(IConfiguration configuration)
// Use IConfiguration instance here}
據我所知,他們將其替換為 ConfigurationManager class 的具體實例,這是 WebApplicationBuilder 的屬性。
在您的 Program.cs class 中有一行代碼:
var builder = WebApplication.CreateBuilder(args);
然后,您可以從此構建器實例訪問配置:
builder.Configuration.GetConnectionString("DefaultConnection");
我知道這並不能回答您的“如何注入 IConfiguration”問題,但我猜您只是希望能夠訪問您的配置設置。 如果不是,您可以否決我的回答。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.