EnableQueryAttribute 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 클래스는 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.ActionFilterAttributeEnableQueryAttribute
- 상속
-
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합니다. 쿼리의 유효성 검사를 추가로 수행하려면 이 메서드를 재정의합니다. |