首頁 > 後端開發 > C++ > 如何在沒有 Startup.cs 的情況下存取 ASP.NET Core 6 中的 IConfiguration 和 IHostEnvironment?

如何在沒有 Startup.cs 的情況下存取 ASP.NET Core 6 中的 IConfiguration 和 IHostEnvironment?

Barbara Streisand
發布: 2025-01-09 08:47:41
原創
559 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板