Bagikan melalui


ASP0016: Jangan mengembalikan nilai dari RequestDelegate

Nilai
ID Aturan ASP0016
Kategori Penggunaan
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif

Penyebab

Metode yang digunakan untuk membuat RequestDelegate pengembalian Task<T>. RequestDelegate membuang nilai ini.

Deskripsi aturan

Jangan mengembalikan nilai Delegateyang disediakan untuk API yang mengharapkan RequestDelegate. Misalnya, sampel berikut mengembalikan Task<string>string tempat nilai Task akan dibuang.

var app = WebApplication.Create();
app.Use(next =>
{
    return new RequestDelegate((HttpContext context) =>
    {
        return Task.FromResult(""hello world"");
    });
});

Cara memperbaiki pelanggaran

Untuk memperbaiki pelanggaran aturan ini, ubah jenis pengembalian menjadi non-generik Task atau, jika delegasi adalah penangan rute, transmisikan ke Delegate sehingga nilai yang dikembalikan ditulis ke respons.

Kapan harus menekan peringatan

Jangan menyembunyikan peringatan dari aturan ini.