EnableQueryAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Cette classe définit un attribut qui peut s'appliquer à une action permettant de formuler une requête à l'aide de la syntaxe de requête OData. Pour éviter de traiter des requêtes inattendues ou malveillantes, utilisez les paramètres de validation activés pour EnableQueryAttribute valider les requêtes entrantes. Pour plus d’informations, consultez 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
- Héritage
-
System.Web.Http.Filters.ActionFilterAttributeEnableQueryAttribute
- Héritage
-
EnableQueryAttribute
- Attributs
Constructeurs
EnableQueryAttribute() |
Active une action du contrôleur pour la prise en charge des paramètres de requête OData. |
Propriétés
AllowedArithmeticOperators |
Obtient ou définit une valeur représentant une liste d'opérateurs arithmétiques autorisés, notamment 'add', 'sub', 'mul', 'div', 'mod'. |
AllowedFunctions |
Obtient ou définit une valeur représentant une liste de fonctions autorisées utilisées dans la requête $filter. Les fonctions prises en charge sont notamment : |
AllowedLogicalOperators |
Obtient ou définit une valeur représentant une liste d'opérateurs logiques autorisés, comme 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or', 'not'. |
AllowedOrderByProperties |
Obtient ou définit une chaîne avec une liste de noms de propriétés séparés par des virgules. Le résultat requêtable (queryable) ne peut être trié que par les propriétés définies dans cette liste. Notez que par défaut, cette chaîne a la valeur Null, ce qui signifie qu'elle peut être triée selon n'importe quelle propriété. Par exemple, si vous définissez cette valeur sur une chaîne null ou vide, nous autorisons l’ordre du résultat interrogeable par toutes les propriétés. Définir cette valeur à « Name » équivaut à autoriser le tri du résultat requêtable selon la propriété Name. |
AllowedQueryOptions |
Obtient ou définit les paramètres de la requête qui sont autorisés dans les requêtes. |
EnableConstantParameterization |
Obtient ou définit une valeur indiquant si les constantes doivent être paramétrées. Le paramétrage des constantes doit se traduire par de meilleures performances avec Entity Framework. |
EnableCorrelatedSubqueryBuffering |
Obtient ou définit une valeur indiquant si les requêtes avec navigations développées doivent être formulées pour encourager la mise en mémoire tampon des résultats de sous-requête corrélés. La mise en mémoire tampon des résultats de sous-requête corrélés peut réduire le nombre de requêtes de N + 1 à 2 en mettant en mémoire tampon les résultats de la sous-requête. |
EnsureStableOrdering |
Obtient ou définit une valeur indiquant si la composition de la requête doit, au besoin, modifier la requête d'origine pour assurer un ordre de tri stable. |
HandleNullPropagation |
Obtient ou définit une valeur indiquant comment la propagation null doit être gérée lors de la composition de requête. |
HandleReferenceNavigationPropertyExpandFilter |
Respectez $filter à l’intérieur $expand de la propriété de navigation hors collection. La propriété développée est renseignée uniquement lorsque le filtre prend la valeur true. Ce paramètre est false par défaut. |
MaxAnyAllExpressionDepth |
Obtient ou définit la profondeur maximale de n'importe quel élément ou de tous les éléments imbriqués dans la requête. Cette limite permet d'éviter les attaques par déni de service. |
MaxExpansionDepth |
Obtient ou définit la profondeur d'expansion maximum pour l'option de requête $expand. Pour désactiver la vérification de la profondeur d'expansion maximale, définissez cette propriété à 0. |
MaxNodeCount |
Obtient ou définit le nombre maximal de nœuds à l’intérieur de l’arborescence de syntaxe $filter. |
MaxOrderByNodeCount |
Obtient ou définit le nombre maximum d'expressions pouvant être présentes dans $orderby. |
MaxSkip |
Obtient ou définit la valeur max. de $skip qu'un client peut demander. |
MaxTop |
Obtient ou définit la valeur max. de $top qu'un client peut demander. |
PageSize |
Obtient ou définit le nombre maximum de résultats de requête à renvoyer aux clients. |
Méthodes
ApplyQuery(IQueryable, ODataQueryOptions) |
Applique la requête à IQueryable sur la base de la requête entrante à partir de l'URI et des paramètres de requête. Par défaut, l'implémentation prend en charge $top, $skip, $orderby et $filter. Ignorer cette méthode pour effectuer une composition de requête supplémentaire de la requête. |
ApplyQuery(Object, ODataQueryOptions) |
Applique la requête à l’entité donnée en fonction de la requête entrante provenant des paramètres d’URI et de requête. |
CreateErrorResponse(String, Exception) |
Créez une réponse d’erreur. |
GetModel(Type, HttpRequest, ActionDescriptor) |
Obtient le modèle EDM pour le type et la demande donnés. Remplacez cette méthode pour personnaliser le modèle EDM utilisé pour l’interrogation. |
GetModel(Type, HttpRequestMessage, HttpActionDescriptor) |
Obtient le modèle EDM pour la requête et le type donnés. Ignorer cette méthode pour personnaliser le modèle EDM utilisé pour la requête. |
OnActionExecuted(ActionExecutedContext) |
Effectue la composition de requête après l'exécution de l'action. Il essaie d'abord de récupérer IQueryable à partir du message de réponse de retour. Il valide ensuite la requête à partir de l’URI en fonction des paramètres de validation sur EnableQueryAttribute. Enfin, il applique la requête de façon appropriée, et la redéfinit sur le message de réponse. |
OnActionExecuted(HttpActionExecutedContext) |
Effectue la composition de requête après l'exécution de l'action. Il essaie d'abord de récupérer IQueryable à partir du message de réponse de retour. Il valide ensuite la requête à partir de l’URI en fonction des paramètres de validation sur EnableQueryAttribute. Enfin, il applique la requête de façon appropriée, et la redéfinit sur le message de réponse. |
OnActionExecuting(ActionExecutingContext) |
Cette classe définit un attribut qui peut s'appliquer à une action permettant de formuler une requête à l'aide de la syntaxe de requête OData. Pour éviter de traiter des requêtes inattendues ou malveillantes, utilisez les paramètres de validation activés pour EnableQueryAttribute valider les requêtes entrantes. Pour plus d’informations, consultez http://go.microsoft.com/fwlink/?LinkId=279712. |
ValidateQuery(HttpRequest, ODataQueryOptions) |
Valide la requête OData dans la demande entrante. Par défaut, l'implémentation lève une exception si la requête contient des paramètres de requête non pris en charge. Ignorer cette méthode pour effectuer une validation supplémentaire de la requête. |
ValidateQuery(HttpRequestMessage, ODataQueryOptions) |
Valide la requête OData dans la demande entrante. Par défaut, l'implémentation lève une exception si la requête contient des paramètres de requête non pris en charge. Ignorer cette méthode pour effectuer une validation supplémentaire de la requête. |