Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Hodnota | |
|---|---|
| Identifikátor pravidla | ASP0005 |
| Kategorie | Použití |
| Oprava je destruktivní nebo nedestruktivní | Nezlomitelný |
Příčina
Atribut byl použit na definici metody místo obslužné rutiny trasy v koncovém bodu obslužné rutiny trasy.
Popis pravidla
Když je koncový bod deklarován, měly by být atributy použity na parametr delegáta, aby byly efektivní. Například atribut Authorize v následující ukázce kódu není nastavený na registrovaném koncovém bodu:
app.MapGet("/todos/{id}", GetTodoById);
[Authorize]
Todo GetTodoById(int id)
{
...
}
Atribut musí být umístěn na parametru obslužné rutiny trasy, jak je znázorněno v následujícím kódu.
app.MapGet("/todos/{id}", [Authorize] GetTodoById);
Todo GetTodoById(int id)
{
...
}
Jak opravit porušení
Chcete-li opravit porušení tohoto pravidla, ujistěte se, že atributy koncového bodu jsou použity na parametru obslužné trasy.
app.MapGet("/todos/{id}", [Authorize] (int id) => {});
app.MapGet("/users/{id}", [Authorize] GetUserById);
Kdy potlačit upozornění
Nepotlačujte varování z tohoto pravidla. Chybně umístěné atributy můžou způsobit neočekávané chování za běhu.