Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Ez nem a cikk legújabb verziója. Az aktuális kiadásról a cikk .NET 10-es verziójában olvashat.
Figyelmeztetés
A ASP.NET Core ezen verziója már nem támogatott. További információt a .NET és a .NET Core támogatási szabályzatában talál. A jelen cikk .NET 9-es verzióját lásd az aktuális kiadásért .
WebApplication bizonyos feltételektől függően automatikusan hozzáadja a következő köztes szoftvereket a Minimal API-alkalmazásokhoz :
-
UseDeveloperExceptionPageakkor lesz először hozzáadva, ha azHostingEnvironment."Development" -
UseRoutingakkor lesz második, ha a felhasználói kód még nem hívott megUseRouting, és ha vannak konfigurált végpontok, példáulapp.MapGet. -
UseEndpointsa köztes szoftverfolyamat végén lesz hozzáadva, ha a végpontok konfigurálva vannak. -
UseAuthenticationközvetlenül azutánUseRoutinglesz hozzáadva, ha a felhasználói kód még nem hívott,UseAuthenticationés haIAuthenticationSchemeProvidera szolgáltatóban észlelhető.IAuthenticationSchemeProvidera rendszer alapértelmezés szerint hozzáadja a szolgáltatásokat a használat soránAddAuthentication, és a szolgáltatások a következő használatávalIServiceProviderIsServicevannak észlelve: . -
UseAuthorizationezután hozzáadódik, ha a felhasználói kód még nem hívott,UseAuthorizationés haIAuthorizationHandlerProvidera szolgáltatóban észlelhető.IAuthorizationHandlerProvidera rendszer alapértelmezés szerint hozzáadja a szolgáltatásokat a használat soránAddAuthorization, és a szolgáltatások a következő használatávalIServiceProviderIsServicevannak észlelve: . - A felhasználó által konfigurált köztes szoftver és végpontok a következők közé
UseRoutingUseEndpointskerülnek: .
Az alkalmazáshoz hozzáadott automatikus köztes szoftver gyakorlatilag a következő kódot eredményezi:
if (isDevelopment)
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
if (isAuthenticationConfigured)
{
app.UseAuthentication();
}
if (isAuthorizationConfigured)
{
app.UseAuthorization();
}
// user middleware/endpoints
app.CustomMiddleware(...);
app.MapGet("/", () => "hello world");
// end user middleware/endpoints
app.UseEndpoints(e => {});
Bizonyos esetekben az alapértelmezett köztes szoftverkonfiguráció nem megfelelő az alkalmazáshoz, és módosítást igényel. Például meg kell hívni előtt UseCorsUseAuthentication és UseAuthorization. Az alkalmazásnak meg kell hívnia UseAuthentication , és UseAuthorization ha UseCors van meghívva:
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
Ha a köztes szoftvereket az útvonalegyeztetés előtt kell futtatni, meg kell hívni, UseRouting és a köztes szoftvernek a hívás UseRoutingelőtt kell lennie.
UseEndpoints ebben az esetben nincs szükség rá, mivel a rendszer automatikusan hozzáadja a korábban ismertetett módon:
app.Use((context, next) =>
{
return next(context);
});
app.UseRouting();
// other middleware and endpoints
Terminál köztes szoftver hozzáadásakor:
- A köztes szoftvereket a következő után
UseEndpointskell hozzáadni: . - Az alkalmazásnak meg kell hívnia
UseRouting, ésUseEndpointsahhoz, hogy a terminál közbenső szoftvere a megfelelő helyre kerüljön.
app.UseRouting();
app.MapGet("/", () => "hello world");
app.UseEndpoints(e => {});
app.Run(context =>
{
context.Response.StatusCode = 404;
return Task.CompletedTask;
});
A terminál köztes szoftver olyan köztes szoftver, amely akkor fut, ha egyetlen végpont sem kezeli a kérést.
WebApplication bizonyos feltételektől függően automatikusan hozzáadja a következő köztes szoftvereket a Minimal API-alkalmazásokhoz :
-
UseDeveloperExceptionPageakkor lesz először hozzáadva, ha azHostingEnvironment."Development" -
UseRoutingakkor lesz második, ha a felhasználói kód még nem hívott megUseRouting, és ha vannak konfigurált végpontok, példáulapp.MapGet. -
UseEndpointsa köztes szoftverfolyamat végén lesz hozzáadva, ha a végpontok konfigurálva vannak. -
UseAuthenticationközvetlenül azutánUseRoutinglesz hozzáadva, ha a felhasználói kód még nem hívott,UseAuthenticationés haIAuthenticationSchemeProvidera szolgáltatóban észlelhető.IAuthenticationSchemeProvidera rendszer alapértelmezés szerint hozzáadja a szolgáltatásokat a használat soránAddAuthentication, és a szolgáltatások a következő használatávalIServiceProviderIsServicevannak észlelve: . -
UseAuthorizationezután hozzáadódik, ha a felhasználói kód még nem hívott,UseAuthorizationés haIAuthorizationHandlerProvidera szolgáltatóban észlelhető.IAuthorizationHandlerProvidera rendszer alapértelmezés szerint hozzáadja a szolgáltatásokat a használat soránAddAuthorization, és a szolgáltatások a következő használatávalIServiceProviderIsServicevannak észlelve: . - A felhasználó által konfigurált köztes szoftver és végpontok a következők közé
UseRoutingUseEndpointskerülnek: .
Az alkalmazáshoz hozzáadott automatikus köztes szoftver gyakorlatilag a következő kódot eredményezi:
if (isDevelopment)
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
if (isAuthenticationConfigured)
{
app.UseAuthentication();
}
if (isAuthorizationConfigured)
{
app.UseAuthorization();
}
// user middleware/endpoints
app.CustomMiddleware(...);
app.MapGet("/", () => "hello world");
// end user middleware/endpoints
app.UseEndpoints(e => {});
Bizonyos esetekben az alapértelmezett köztes szoftverkonfiguráció nem megfelelő az alkalmazáshoz, és módosítást igényel. Például meg kell hívni előtt UseCorsUseAuthentication és UseAuthorization. Az alkalmazásnak meg kell hívnia UseAuthentication , és UseAuthorization ha UseCors van meghívva:
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
Ha a köztes szoftvereket az útvonalegyeztetés előtt kell futtatni, meg kell hívni, UseRouting és a köztes szoftvernek a hívás UseRoutingelőtt kell lennie.
UseEndpoints ebben az esetben nincs szükség rá, mivel a rendszer automatikusan hozzáadja a korábban ismertetett módon:
app.Use((context, next) =>
{
return next(context);
});
app.UseRouting();
// other middleware and endpoints
Terminál köztes szoftver hozzáadásakor:
- A köztes szoftvereket a következő után
UseEndpointskell hozzáadni: . - Az alkalmazásnak meg kell hívnia
UseRouting, ésUseEndpointsahhoz, hogy a terminál közbenső szoftvere a megfelelő helyre kerüljön.
app.UseRouting();
app.MapGet("/", () => "hello world");
app.UseEndpoints(e => {});
app.Run(context =>
{
context.Response.StatusCode = 404;
return Task.CompletedTask;
});
A terminál köztes szoftver olyan köztes szoftver, amely akkor fut, ha egyetlen végpont sem kezeli a kérést.
A minimális API-kban található antiforgery köztes szoftverekkel kapcsolatos információkért lásd: A helyek közötti kérelemhamisítás (XSRF/CSRF) támadásainak megakadályozása a ASP.NET Core-ban
További információ a köztes szoftverről: ASP.NET Core Middleware, és az alkalmazásokhoz hozzáadható beépített köztes szoftver listája .
A minimális API-król további információt az API-k áttekintésében talál.