IActionConstraint インターフェイス

定義

指定された要求に対して関連付けられたアクションが有効かどうかを判断するための条件付きロジックをサポートします。

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
派生
実装

注釈

アクション制約は、制約が適用されたアクションを 1 つよりも適切に一致させるという 2 次的な効果を持ちます。

同じアクションとコントローラー名を持つ "A" と "B" の 2 つのアクションを検討してください。 アクション 'A' では HTTP POST メソッド (制約を使用) のみが許可され、アクション 'B' には制約はありません。

受信要求が POST の場合、'A' は両方とも一致し、制約があるため、最適な一致と見なされます。 受信要求で他の動詞が使用されている場合、'A' は制約のため選択に対して有効ではないため、'B' が最適な一致です。

アクション制約も、その順序値に従ってグループ化されます。 同じグループ値を持つ制約は、同じアプリケーション ポリシーの一部と見なされ、同じステージで実行されます。

ステージは、 の値 Orderに基づいて昇順で実行されます。 選択の候補である一連のアクションを指定すると、次に実行するステージは、最後のステージの Order 順序よりも大きい任意の候補の制約に対して の最小値になります。

ステージの順序が特定されると、各アクションには、そのステージ内のすべての制約が実行されます。 制約が一致しない場合、そのアクションは選択の候補ではありません。 現在の状態の制約を持つアクションがまだ候補である場合、それらは "最適な" アクションであり、このプロセスは "最適" アクションのセットで次のステージで繰り返されます。 "最適" アクションの後続のステージを処理した後に候補が残っていない場合、このプロセスは、このステージの 'other' 候補アクションのセット (制約のないアクション) で繰り返されます。

プロパティ

Order

制約の順序。

メソッド

Accept(ActionConstraintContext)

アクションが選択の有効な候補であるかどうかを判断します。

適用対象