EnableQueryAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Esta clase define un atributo que se puede aplicar a una acción para habilitar las consultas mediante la sintaxis de consulta de OData. Para evitar el procesamiento de consultas inesperadas o malintencionadas, use la configuración de validación en EnableQueryAttribute para validar las consultas entrantes. Para más información, visite 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
- Herencia
-
System.Web.Http.Filters.ActionFilterAttributeEnableQueryAttribute
- Herencia
-
EnableQueryAttribute
- Atributos
Constructores
EnableQueryAttribute() |
Habilita una acción de controlador para admitir los parámetros de las consultas OData. |
Propiedades
AllowedArithmeticOperators |
Obtiene o establece un valor que representa una lista de operadores aritméticos permitidos, como 'add', 'sub', 'mul', 'div' y 'mod'. |
AllowedFunctions |
Obtiene o establece un valor que representa una lista de funciones permitidas que se usan en la consulta $filter. Las funciones compatibles incluyen lo siguiente: |
AllowedLogicalOperators |
Obtiene o establece un valor que representa una lista de operadores lógicos permitidos, como 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or', 'not'. |
AllowedOrderByProperties |
Obtiene o establece una cadena con una lista separada por comas de nombres de propiedad. El resultado consultable solo se puede ordenar mediante las propiedades que se definen en esta lista. De forma predeterminada, esta cadena es nula, lo que significa que se puede usar cualquier propiedad para ordenar. Por ejemplo, al establecer este valor en null o una cadena vacía, se permite ordenar del resultado consultable por cualquier propiedad. Al definirlo como "Name", solo permitimos que el resultado consultable se ordene con la propiedad Name. |
AllowedQueryOptions |
Obtiene o establece los parámetros de consulta que se permiten en las consultas. |
EnableConstantParameterization |
Obtiene o define un valor que indica si las constantes se deben parametrizar. La parametrización de constantes mejoraría el rendimiento con Entity Framework. |
EnableCorrelatedSubqueryBuffering |
Obtiene o establece un valor que indica si se deben formular consultas con navegaciones expandidas para fomentar que los resultados de subconsultas correlacionados se almacenen en búfer. El almacenamiento en búfer de los resultados de la subconsulta correlacionada puede reducir el número de consultas de N + 1 a 2 mediante el almacenamiento en búfer de los resultados de la subconsulta. |
EnsureStableOrdering |
Obtiene o define un valor que indica si la composición de la consulta debe alterar la consulta original cuando sea necesario para garantizar un orden estable. |
HandleNullPropagation |
Obtiene o define un valor que indica cómo se debe controlar la propagación nula durante la composición de la consulta. |
HandleReferenceNavigationPropertyExpandFilter |
Respeta $filter dentro de $expand de la propiedad de navegación que no sea de colección. La propiedad expandida solo se rellena cuando el filtro se evalúa como true. Esta configuración es false de forma predeterminada. |
MaxAnyAllExpressionDepth |
Obtiene o define la profundidad máxima de los elementos Any o All anidados dentro de la consulta. Este límite contribuye a evitar ataques por denegación de servicio. |
MaxExpansionDepth |
Obtiene o establece la profundidad de expansión máxima para la opción de consulta $expand. Para deshabilitar la comprobación de la profundidad de expansión máxima, establezca esta propiedad en 0. |
MaxNodeCount |
Obtiene o establece el número máximo de nodos dentro del árbol de sintaxis $filter. |
MaxOrderByNodeCount |
Obtiene o establece el número máximo de expresiones que se pueden presentar en el elemento $orderby. |
MaxSkip |
Obtiene o define el valor máximo de $skip que puede solicitar un cliente. |
MaxTop |
Obtiene o define el valor máximo de $top que puede solicitar un cliente. |
PageSize |
Obtiene o define el número máximo de resultados de consulta que se devuelve a los clientes. |
Métodos
ApplyQuery(IQueryable, ODataQueryOptions) |
Aplica la consulta al elemento IQueryable determinado a partir de la configuración de consulta y consulta entrante de URI. De forma predeterminada, la implementación admite $top, $skip, $orderby y $filter. Invalide este método para realizar una composición de consulta adicional de la consulta. |
ApplyQuery(Object, ODataQueryOptions) |
Aplica la consulta a la entidad especificada en función de la consulta entrante de la configuración de URI y consulta. |
CreateErrorResponse(String, Exception) |
Cree una respuesta de error. |
GetModel(Type, HttpRequest, ActionDescriptor) |
Obtiene el modelo EDM para el tipo y la solicitud especificados. Invalide este método para personalizar el modelo EDM usado para realizar consultas. |
GetModel(Type, HttpRequestMessage, HttpActionDescriptor) |
Obtiene el modelo EDM para el tipo y la solicitud especificados. Invalide este método para personalizar el modelo de EDM que se usa para la consulta. |
OnActionExecuted(ActionExecutedContext) |
Realiza la composición de la consulta después de ejecutar la acción. En primer lugar, intenta recuperar IQueryable del mensaje de respuesta devuelto. A continuación, valida la consulta del URI en función de la configuración de validación en EnableQueryAttribute. Finalmente, aplica la consulta adecuadamente y la devuelve al mensaje de respuesta. |
OnActionExecuted(HttpActionExecutedContext) |
Realiza la composición de la consulta después de ejecutar la acción. En primer lugar, intenta recuperar IQueryable del mensaje de respuesta devuelto. A continuación, valida la consulta del URI en función de la configuración de validación en EnableQueryAttribute. Finalmente, aplica la consulta adecuadamente y la devuelve al mensaje de respuesta. |
OnActionExecuting(ActionExecutingContext) |
Esta clase define un atributo que se puede aplicar a una acción para habilitar las consultas mediante la sintaxis de consulta de OData. Para evitar el procesamiento de consultas inesperadas o malintencionadas, use la configuración de validación en EnableQueryAttribute para validar las consultas entrantes. Para más información, visite http://go.microsoft.com/fwlink/?LinkId=279712. |
ValidateQuery(HttpRequest, ODataQueryOptions) |
Valida la consulta de OData de la solicitud entrante. De forma predeterminada, la implementación lanza una excepción si la consulta contiene parámetros de consulta incompatibles. Invalide este método para realizar una validación adicional de la consulta. |
ValidateQuery(HttpRequestMessage, ODataQueryOptions) |
Valida la consulta de OData de la solicitud entrante. De forma predeterminada, la implementación lanza una excepción si la consulta contiene parámetros de consulta incompatibles. Invalide este método para realizar una validación adicional de la consulta. |