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
派生
实现

注解

操作约束的次要效果是使应用了约束的操作比没有约束的操作更匹配。

请考虑两个操作,即具有相同操作和控制器名称的“A”和“B”。 操作“A”仅允许 HTTP POST 方法通过约束) (,并且操作“B”没有约束。

如果传入请求是 POST,则“A”被视为最佳匹配项,因为它既匹配又具有约束。 如果传入请求使用任何其他谓词,则“A”由于受约束,选择无效,因此“B”是最佳匹配项。

操作约束也根据其顺序值进行分组。 具有相同组值的任何约束都被视为同一应用程序策略的一部分,并将在同一阶段执行。

阶段根据 的值 Order以升序运行。 给定一组要选择的候选操作,对于任何候选项的约束(大于最后一个阶段的顺序),下一阶段运行的最小值 Order

确定阶段顺序后,每个操作都执行了该阶段中的所有约束。 如果任何约束不匹配,则该操作不是要选择的候选项。 如果具有当前状态约束的任何操作仍为候选操作,则这些操作是“最佳”操作,此过程将在下一阶段对“最佳”操作集重复执行。 如果在处理“最佳”操作的后续阶段后,没有候选项保留,则此过程将在此阶段 (没有约束) 的“其他”候选操作集上重复。

属性

Order

约束顺序。

方法

Accept(ActionConstraintContext)

确定操作是否是有效的选择候选项。

适用于