Heim >Backend-Entwicklung >C++ >Wie greife ich ohne Startup.cs auf IConfiguration und IHostEnvironment in ASP.NET Core 6 zu?

Wie greife ich ohne Startup.cs auf IConfiguration und IHostEnvironment in ASP.NET Core 6 zu?

Barbara Streisand
Barbara StreisandOriginal
2025-01-09 08:47:41552Durchsuche

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

Zugriffskonfiguration beim Start in ASP.NET Core 6

In früheren Versionen von ASP.NET Core war der Zugriff auf IConfiguration- und IHostEnvironment-Objekte über die Startup.cs-Klasse möglich. Allerdings wurde in .NET 6 und höher die traditionelle Startup-Klasse entfernt.

Zugriff auf Konfiguration und Umgebungen in .NET 6

Um auf Konfigurations- und Umgebungsobjekte in ASP.NET Core 6 ohne eine Startup-Klasse zuzugreifen, verwenden Sie die folgenden Methoden:

1. Verwenden Sie WebApplicationBuilder

Der von WebApplication.CreateBuilder(args) zurückgegebene WebApplicationBuilder bietet Zugriff auf die Konfigurations- und Umgebungseigenschaften:

<code class="language-csharp">var builder = WebApplication.CreateBuilder(args);
IConfiguration configuration = builder.Configuration;
IWebHostEnvironment environment = builder.Environment;</code>

2. WebApplication verwenden

Die von WebApplicationBuilder.Build() zurückgegebene WebApplication stellt auch Konfigurations- und Umgebungseigenschaften bereit:

<code class="language-csharp">var app = builder.Build();
IConfiguration configuration = app.Configuration;
IWebHostEnvironment environment = app.Environment;</code>

Zugriffskonfiguration in der Program.cs-Datei

Um auf das Configuration-Objekt in der Datei Program.cs zuzugreifen, verwenden Sie die Configuration-Eigenschaft von WebApplicationBuilder:

<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>

Bitte beachten Sie, dass FestifyContext basierend auf Ihrem tatsächlichen Projekt angepasst werden muss. Dieser Code zeigt, wie man Program.cs innerhalb von builder.Configuration verwendet, um die Verbindungszeichenfolge abzurufen.

Das obige ist der detaillierte Inhalt vonWie greife ich ohne Startup.cs auf IConfiguration und IHostEnvironment in ASP.NET Core 6 zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn