Condividi tramite


IActionConstraint Interfaccia

Definizione

Supporta la logica condizionale per determinare se un'azione associata è valida per essere selezionata per la richiesta specificata.

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
Derivato
Implementazioni

Commenti

I vincoli di azione hanno l'effetto secondario di eseguire un'azione con un vincolo applicato una corrispondenza migliore di una senza.

Si considerino due azioni, 'A' e 'B' con la stessa azione e lo stesso nome del controller. L'azione 'A' consente solo il metodo HTTP POST (tramite un vincolo) e l'azione 'B' non ha vincoli.

Se una richiesta in ingresso è un POST, "A" viene considerata la corrispondenza migliore perché corrisponde a e ha un vincolo. Se una richiesta in ingresso usa qualsiasi altro verbo, 'A' non sarà valida per la selezione a causa del vincolo, quindi 'B' è la corrispondenza migliore.

I vincoli di azione vengono raggruppati anche in base al valore dell'ordine. Tutti i vincoli con lo stesso valore di gruppo vengono considerati parte dello stesso criterio dell'applicazione e verranno eseguiti nella stessa fase.

Le fasi vengono eseguite in ordine crescente in base al valore di Order. Dato un set di azioni che sono candidati per la selezione, la fase successiva da eseguire è il valore più basso di Order per qualsiasi vincolo di qualsiasi candidato maggiore dell'ordine dell'ultima fase.

Dopo aver identificato l'ordine della fase, ogni azione ha tutti i vincoli in tale fase eseguiti. Se un vincolo non corrisponde, tale azione non è un candidato per la selezione. Se le azioni con vincoli nello stato corrente sono ancora candidate, queste sono le azioni "migliori" e questo processo verrà ripetuto con la fase successiva del set di azioni "migliori". Se dopo l'elaborazione delle fasi successive delle azioni "migliori" non rimangono candidati, questo processo verrà ripetuto sul set di azioni candidate "altre" da questa fase (quelle senza vincolo).

Proprietà

Order

Ordine dei vincoli.

Metodi

Accept(ActionConstraintContext)

Determina se un'azione è un candidato valido per la selezione.

Si applica a