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)

작업이 선택하기 위한 유효한 후보인지 여부를 결정합니다.

적용 대상