首页 >后端开发 >C++ >如何在没有 Startup.cs 的情况下访问 ASP.NET Core 6 中的 IConfiguration 和 IHostEnvironment?

如何在没有 Startup.cs 的情况下访问 ASP.NET Core 6 中的 IConfiguration 和 IHostEnvironment?

Barbara Streisand
Barbara Streisand原创
2025-01-09 08:47:41556浏览

How to Access IConfiguration and IHostEnvironment in ASP.NET Core 6  without Startup.cs?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn