Ara yazılım: Yeni Aşırı yükleme kullan
yeni bir aşırı yüklemesi app.Use
kullanıma sunulmuştur. Ara yazılımı çağırır app.Use
ancak hiçbir zaman çağırmazsanız next
artık derleyici hatası CS0121 alırsınız:
Çağrı şu yöntemler veya özellikler arasında belirsiz: 'UseExtensions.Use(IApplicationBuilder, Func<HttpContext, Func, Task>)' ve 'UseExtensions.Use(IApplicationBuilder, Func<HttpContext, RequestDelegate, Task>)'
Hatayı çözmek için yerine app.Use
kullanınapp.Run
.
Tartışma için bkz. GitHub sorunu dotnet/aspnetcore#32020.
Sürüm kullanıma sunulmuştur
ASP.NET Core 6.0
Eski davranış
app.Use(async (context, next) =>
{
await next();
});
veya
app.Use(async (context, next) =>
{
await SomeAsyncWork();
// next not called...
});
Yeni davranış
Artık temsilciye next
geçirebilirsinizcontext
:
app.Use(async (context, next) =>
{
await next(context);
});
Ara yazılımınız hiçbir zaman çağrısı next
yapmadığında kullanınapp.Run
:
app.Run(async (context) =>
{
await SomeAsyncWork();
// next never called
});
Değişiklik nedeni
Önceki Use
yöntem istek başına iki nesne ayırır. Yeni aşırı yükleme, ara yazılımı çağırma next
şeklinize küçük bir değişiklikle bu ayırmaları önler.
Önerilen eylem
Derleme hatası alırsanız bu, temsilciyi next
kullanmadan çağırdığınız app.Use
anlamına gelir. app.Run
hatasını düzeltmek için öğesine geçin.
Etkilenen API’ler
Yok.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin