Freigeben über


IActionConstraint Schnittstelle

Definition

Unterstützt bedingte Logik, um zu bestimmen, ob eine zugeordnete Aktion gültig ist, um für die angegebene Anforderung ausgewählt zu werden.

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
Abgeleitet
Implementiert

Hinweise

Aktionseinschränkungen haben den sekundären Effekt, dass eine Aktion mit einer angewendeten Einschränkung besser übereinstimmt als eine ohne.

Betrachten Sie zwei Aktionen, "A" und "B" mit demselben Aktions- und Controllernamen. Aktion "A" lässt nur die HTTP POST-Methode (über eine Einschränkung) zu, und die Aktion "B" hat keine Einschränkungen.

Wenn es sich bei einer eingehenden Anforderung um eine POST-Anforderung handelt, wird "A" als die beste Übereinstimmung betrachtet, da sie beide übereinstimmen und eine Einschränkung aufweist. Wenn eine eingehende Anforderung ein anderes Verb verwendet, ist "A" aufgrund der Einschränkung nicht für die Auswahl gültig, sodass "B" die beste Übereinstimmung ist.

Aktionseinschränkungen werden auch nach ihrem Auftragswert gruppiert. Alle Einschränkungen mit demselben Gruppenwert werden als Teil derselben Anwendungsrichtlinie betrachtet und in derselben Phase ausgeführt.

Die Phasen werden basierend auf dem Wert von Orderin aufsteigender Reihenfolge ausgeführt. Bei einer Reihe von Aktionen, bei denen es sich um Kandidaten für die Auswahl handelt, ist die nächste auszuführende Phase der niedrigste Wert von Order für jede Einschränkung eines Kandidaten, der größer als die Reihenfolge der letzten Phase ist.

Sobald die Phasenreihenfolge identifiziert wurde, werden für jede Aktion alle Einschränkungen in dieser Phase ausgeführt. Wenn eine Einschränkung nicht übereinstimmt, ist diese Aktion kein Kandidat für die Auswahl. Wenn Aktionen mit Einschränkungen im aktuellen Zustand noch Kandidaten sind, sind dies die "besten" Aktionen, und dieser Prozess wird mit der nächsten Phase der "besten" Aktionen wiederholt. Wenn nach der Verarbeitung der nachfolgenden Phasen der "besten" Aktionen keine Kandidaten mehr vorhanden sind, wird dieser Prozess für die Gruppe der "anderen" Kandidatenaktionen aus dieser Phase (ohne Einschränkung) wiederholt.

Eigenschaften

Order

Die Einschränkungsreihenfolge.

Methoden

Accept(ActionConstraintContext)

Bestimmt, ob eine Aktion ein gültiger Kandidat für die Auswahl ist.

Gilt für: