在 ASP.NET Core 6 中启动时访问配置
在之前的 ASP.NET Core 版本中,可以通过 Startup.cs 类访问 IConfiguration 和 IHostEnvironment 对象。但是,在 .NET 6 及更高版本中,传统的 Startup 类已被移除。
在 .NET 6 中访问配置和环境
在没有 Startup 类的情况下,要在 ASP.NET Core 6 中访问 Configuration 和 Environment 对象,请使用以下方法:
1. 使用 WebApplicationBuilder
由 WebApplication.CreateBuilder(args) 返回的 WebApplicationBuilder 提供对 Configuration 和 Environment 属性的访问:
<code class="language-csharp">var builder = WebApplication.CreateBuilder(args); IConfiguration configuration = builder.Configuration; IWebHostEnvironment environment = builder.Environment;</code>
2. 使用 WebApplication
由 WebApplicationBuilder.Build() 返回的 WebApplication 也公开了 Configuration 和 Environment 属性:
<code class="language-csharp">var app = builder.Build(); IConfiguration configuration = app.Configuration; IWebHostEnvironment environment = app.Environment;</code>
在 Program.cs 文件中访问配置
要在 Program.cs 文件中访问 Configuration 对象,请使用 WebApplicationBuilder 的 Configuration 属性:
<code class="language-csharp">var builder = WebApplication.CreateBuilder(args); // 将服务添加到容器。 builder.Services.AddRazorPages(); builder.Services.AddDbContext<FestifyContext>(opt => opt.UseSqlServer( builder.Configuration.GetConnectionString("Festify"))); var app = builder.Build(); // 配置 HTTP 请求管道。 if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.MapRazorPages(); app.Run();</code>
请注意,FestifyContext
需要根据您的实际项目进行调整。 这段代码展示了如何在Program.cs
中使用builder.Configuration
来获取连接字符串。
以上是如何在没有 Startup.cs 的情况下访问 ASP.NET Core 6 中的 IConfiguration 和 IHostEnvironment?的详细内容。更多信息请关注PHP中文网其他相关文章!