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' 只允許透過條件約束) 和動作 'B' 沒有條件約束的 HTTP POST 方法 (。

如果傳入要求是 POST,則 'A' 會被視為最佳相符專案,因為它同時符合且具有條件約束。 如果傳入要求使用任何其他動詞,'A' 將因條件約束而無效,因此 'B' 是最佳相符專案。

動作條件約束也會根據其順序值分組。 具有相同群組值的任何條件約束都會被視為相同應用程式原則的一部分,而且會在相同的階段中執行。

階段會根據 的值 Order 以遞增循序執行。 假設有一組動作是選取的候選項目,下一個階段執行是任何候選條件約束的最小值 Order ,其大於最後一個階段的順序。

識別階段順序之後,每個動作都會在該階段中執行其所有條件約束。 如果有任何條件約束不相符,則該動作不是選取範圍的候選項目。 如果目前狀態有條件約束的任何動作仍為候選項目,則這些動作是「最佳」動作,而且此程式會在「最佳」動作集的下一個階段重複。 如果處理後續的「最佳」動作階段之後,沒有候選項目,此程式將會在此階段的一組「其他」候選動作上重複, (沒有條件約束的動作) 。

屬性

Order

條件約束順序。

方法

Accept(ActionConstraintContext)

判斷動作是否為有效的選取候選項目。

適用於