IActionConstraint Rozhraní

Definice

Podporuje podmíněnou logiku k určení, jestli je pro danou žádost vybraná přidružená akce.

public interface class IActionConstraint : Microsoft::AspNetCore::Mvc::ActionConstraints::IActionConstraintMetadata
public interface IActionConstraint : Microsoft.AspNetCore.Mvc.ActionConstraints.IActionConstraintMetadata
type IActionConstraint = interface
    interface IActionConstraintMetadata
Public Interface IActionConstraint
Implements IActionConstraintMetadata
Odvozené
Implementuje

Poznámky

Omezení akce mají sekundární účinek provedení akce s omezením, která použila lepší shodu než jedna bez.

Zvažte dvě akce, ' a ' a ' B ' se stejnou akcí a názvem kontroleru. Akce "A" povoluje pouze metodu HTTP POST (přes omezení) a akce B nemá žádná omezení.

Pokud je příchozí požadavek POST, považuje se za nejlepší shodu "A", protože se shoduje s omezením. Pokud příchozí požadavek používá jinou operaci, "A" nebude platný pro výběr z důvodu omezení, takže "B" je nejlepší shodou.

Omezení akcí se také seskupují podle hodnoty jejich pořadí. Všechna omezení se stejnou hodnotou skupiny se považují za součást stejné zásady použití a spustí se ve stejné fázi.

Fáze se spouští ve vzestupném pořadí podle hodnoty Order . Vzhledem k tomu, že sada akcí je kandidátem na výběr, je další fáze ke spuštění nejnižší hodnota Order pro každé omezení kandidáta, která je větší než pořadí poslední fáze.

Jakmile je pořadí fází identifikováno, každá akce má všechna jeho omezení v rámci této fáze provedena. Pokud se jakékoli omezení neshoduje, tato akce není kandidátem na výběr. Pokud jsou u všech akcí s omezeními v aktuálním stavu stále kandidáti, pak jsou to nejlepší akce a tento proces se zopakuje v další fázi sady "nejlepších" akcí. Pokud po zpracování následujících fází akcí nejlepší nezůstane žádný kandidát, tento proces se v této fázi opakuje u sady kandidátských akcí jiných (bez omezení).

Vlastnosti

Order

Pořadí omezení

Metody

Accept(ActionConstraintContext)

Určuje, zda je akce platným kandidátem pro výběr.

Platí pro