다음을 통해 공유


EnableQueryAttribute 클래스

정의

이 클래스는 OData 쿼리 구문을 사용하여 쿼리를 활성화하기 위해 작업에 적용할 수 있는 특성을 정의합니다. 예기치 않거나 악의적인 쿼리를 처리하지 않으려면 의 유효성 검사 설정을 EnableQueryAttribute 사용하여 들어오는 쿼리의 유효성을 검사합니다. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=279712을 참조하세요.

[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=true)]
public class EnableQueryAttribute : System.Web.Http.Filters.ActionFilterAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=true)]
public class EnableQueryAttribute : Microsoft.AspNetCore.Mvc.Filters.ActionFilterAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=true)>]
type EnableQueryAttribute = class
    inherit ActionFilterAttribute
Public Class EnableQueryAttribute
Inherits ActionFilterAttribute
상속
System.Web.Http.Filters.ActionFilterAttribute
EnableQueryAttribute
상속
EnableQueryAttribute
특성

생성자

EnableQueryAttribute()

컨트롤러 작업이 OData 쿼리 매개 변수를 지원하도록 합니다.

속성

AllowedArithmeticOperators

허용된 산술 연산자(예: 'add', 'sub', 'mul', 'div', 'mod') 목록을 나타내는 값을 가져오거나 설정합니다.

AllowedFunctions

$filter 쿼리에 사용되는 허용된 함수 목록을 나타내는 값을 가져오거나 설정합니다. 지원되는 함수에는 다음이 포함됩니다.

AllowedLogicalOperators

허용된 논리 연산자(예: 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or', 'not') 목록을 나타내는 값을 가져오거나 설정합니다.

AllowedOrderByProperties

속성 이름의 쉼표로 구분된 목록이 있는 문자열을 가져오거나 설정합니다. 쿼리 가능한 결과는 이 목록에 정의된 이러한 속성으로만 정렬할 수 있습니다.

기본적으로 이 문자열은 null이며 이는 임의 속성으로 정렬할 수 있음을 의미합니다.

예를 들어 이 값을 null 또는 빈 문자열로 설정하면 임의 속성으로 쿼리 가능한 결과를 정렬할 수 있습니다. 이 값을 "Name"으로 설정하면 Name 속성으로만 쿼리 가능한 결과가 정렬되도록 허용하는 것입니다.

AllowedQueryOptions

쿼리에 허용되는 쿼리 매개 변수를 가져오거나 설정합니다.

EnableConstantParameterization

상수를 매개 변수화할지 여부를 나타내는 값을 가져오거나 설정합니다. 상수를 매개 변수화하면 Entity Framework의 성능이 향상됩니다.

EnableCorrelatedSubqueryBuffering

상호 관련된 하위 쿼리 결과를 버퍼링하도록 하기 위해 확장된 탐색이 있는 쿼리를 작성해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. 상호 관련된 하위 쿼리 결과를 버퍼링하면 하위 쿼리의 결과를 버퍼링하여 쿼리 수를 N + 1에서 2로 줄일 수 있습니다.

EnsureStableOrdering

쿼리 컴퍼지션에서 안정적인 정렬 순서를 보장하기 위해 필요할 경우 원래 쿼리를 변경할지 여부를 나타내는 값을 가져오거나 설정합니다.

HandleNullPropagation

쿼리 컴퍼지션 중에 null 전파가 처리되는 방식을 나타내는 값을 가져오거나 설정합니다.

HandleReferenceNavigationPropertyExpandFilter

컬렉션이 아닌 탐색 속성의 $expand 내에서 $filter 적용합니다. 확장된 속성은 필터가 true로 평가될 때만 채워집니다. 이 설정은 기본적으로 false입니다.

MaxAnyAllExpressionDepth

쿼리 내부에 중첩된 Any 또는 All 요소의 최대 깊이를 가져오거나 설정합니다. 이 제한으로 서비스 거부 공격을 차단할 수 있습니다.

MaxExpansionDepth

$expand 쿼리 옵션에 대한 최대 확장 깊이를 가져오거나 설정합니다. 최대 확장 깊이 확인을 사용하지 않으려면 이 속성을 0으로 설정합니다.

MaxNodeCount

$filter 구문 트리 내부의 최대 노드 수를 가져오거나 설정합니다.

MaxOrderByNodeCount

$orderby에 있을 수 있는 최대 식 수를 가져오거나 설정합니다.

MaxSkip

클라이언트가 요청할 수 있는 $skip의 최대값을 가져오거나 설정합니다.

MaxTop

클라이언트가 요청할 수 있는 $top의 최대값을 가져오거나 설정합니다.

PageSize

클라이언트로 다시 전송되는 최대 쿼리 결과 수를 가져오거나 설정합니다.

메서드

ApplyQuery(IQueryable, ODataQueryOptions)

URI에서 들어오는 쿼리와 쿼리 설정에 따라 쿼리를 지정된 IQueryable에 적용합니다. 기본적으로 이 구현은 $top, $skip, $orderby 및 $filter를 지원합니다. 쿼리의 쿼리 컴퍼지션을 추가로 수행하려면 이 메서드를 재정의합니다.

ApplyQuery(Object, ODataQueryOptions)

URI에서 들어오는 쿼리와 쿼리 설정에 따라 쿼리를 지정된 엔터티에 적용합니다.

CreateErrorResponse(String, Exception)

오류 응답을 만듭니다.

GetModel(Type, HttpRequest, ActionDescriptor)

지정된 형식 및 요청에 대한 EDM 모델을 가져옵니다. 쿼리에 사용되는 EDM 모델을 사용자 지정하려면 이 메서드를 재정의합니다.

GetModel(Type, HttpRequestMessage, HttpActionDescriptor)

지정된 형식 및 요청에 대한 EDM 모델을 가져옵니다. 쿼리에 사용되는 EDM 모델을 사용자 지정하려면 이 메서드를 재정의합니다.

OnActionExecuted(ActionExecutedContext)

작업이 실행된 후에 쿼리 컴퍼지션을 수행합니다. 먼저 반환되는 응답 메시지에서 IQueryable 검색을 시도합니다. 그런 다음 의 유효성 검사 설정에 따라 URI에서 쿼리의 유효성을 검사합니다 EnableQueryAttribute. 마지막으로 쿼리를 적절하게 적용하고 응답 메시지에서 다시 재설정합니다.

OnActionExecuted(HttpActionExecutedContext)

작업이 실행된 후에 쿼리 컴퍼지션을 수행합니다. 먼저 반환되는 응답 메시지에서 IQueryable 검색을 시도합니다. 그런 다음 의 유효성 검사 설정에 따라 URI에서 쿼리의 유효성을 검사합니다 EnableQueryAttribute. 마지막으로 쿼리를 적절하게 적용하고 응답 메시지에서 다시 재설정합니다.

OnActionExecuting(ActionExecutingContext)

이 클래스는 OData 쿼리 구문을 사용하여 쿼리를 활성화하기 위해 작업에 적용할 수 있는 특성을 정의합니다. 예기치 않거나 악의적인 쿼리를 처리하지 않으려면 의 유효성 검사 설정을 EnableQueryAttribute 사용하여 들어오는 쿼리의 유효성을 검사합니다. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=279712을 참조하세요.

ValidateQuery(HttpRequest, ODataQueryOptions)

들어오는 요청에서 OData 쿼리의 유효성을 검사합니다. 기본적으로 이 구현은 쿼리에 지원되지 않는 쿼리 매개 변수가 있는 경우 예외를 throw합니다. 쿼리의 유효성 검사를 추가로 수행하려면 이 메서드를 재정의합니다.

ValidateQuery(HttpRequestMessage, ODataQueryOptions)

들어오는 요청에서 OData 쿼리의 유효성을 검사합니다. 기본적으로 이 구현은 쿼리에 지원되지 않는 쿼리 매개 변수가 있는 경우 예외를 throw합니다. 쿼리의 유효성 검사를 추가로 수행하려면 이 메서드를 재정의합니다.

적용 대상