EnableQueryAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Tato třída definuje atribut, který lze použít na akci a povolit dotazování pomocí syntaxe dotazu OData. Abyste se vyhnuli zpracování neočekávaných nebo škodlivých dotazů, ověřte příchozí dotazy pomocí nastavení EnableQueryAttribute ověřování. Další informace najdete na stránce 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
- Dědičnost
-
System.Web.Http.Filters.ActionFilterAttributeEnableQueryAttribute
- Dědičnost
-
EnableQueryAttribute
- Atributy
Konstruktory
EnableQueryAttribute() |
Povolí akci kontroleru pro podporu parametrů dotazu OData. |
Vlastnosti
AllowedArithmeticOperators |
Získá nebo nastaví hodnotu, která představuje seznam povolených aritmetických operátorů, včetně "add", "sub", "mul", "div", "mod". |
AllowedFunctions |
Získá nebo nastaví hodnotu, která představuje seznam povolených funkcí používaných v dotazu $filter. Mezi podporované funkce patří: |
AllowedLogicalOperators |
Získá nebo nastaví hodnotu, která představuje seznam povolených logických operátorů, například "eq", "ne", "gt", "ge", "lt", "le", "and", "or", "not". |
AllowedOrderByProperties |
Získá nebo nastaví řetězec se seznamem názvů vlastností oddělených čárkami. Dotazovatelný výsledek lze řadit pouze podle vlastností definovaných v tomto seznamu. Poznámka: Ve výchozím nastavení má tento řetězec hodnotu null, což znamená, že se dá řadit podle jakékoli vlastnosti. Například nastavení této hodnoty na hodnotu null nebo prázdný řetězec znamená, že povolíme řazení dotazovatelného výsledku podle libovolných vlastností. Nastavení této hodnoty na "Název" znamená, že povolíme řazení pouze dotazovatelných výsledků podle vlastnosti Name. |
AllowedQueryOptions |
Získá nebo nastaví parametry dotazu, které jsou povoleny v dotazech. |
EnableConstantParameterization |
Získá nebo nastaví hodnotu označující, zda mají být konstanty parametrizovány. Parametrizace konstant by v Entity Frameworku zlepšila výkon. |
EnableCorrelatedSubqueryBuffering |
Získá nebo nastaví hodnotu označující, zda dotazy s rozšířenými navigacemi by měly být formulovány tak, aby se korelované poddotazové výsledky ukládat do vyrovnávací paměti. Ukládání korelovaných výsledků poddotazů do vyrovnávací paměti může snížit počet dotazů z N + 1 na 2 díky ukládání výsledků z poddotazů do vyrovnávací paměti. |
EnsureStableOrdering |
Získá nebo nastaví hodnotu označující, zda by složení dotazu mělo změnit původní dotaz, pokud je to nutné k zajištění stabilního pořadí řazení. |
HandleNullPropagation |
Získá nebo nastaví hodnotu označující, jak by mělo být při sestavování dotazu zpracováno šíření null. |
HandleReferenceNavigationPropertyExpandFilter |
Respektte $filter uvnitř $expand navigační vlastnosti mimo kolekci. Rozbalená vlastnost se vyplní, jenom když se filtr vyhodnotí jako true. Toto nastavení je ve výchozím nastavení false. |
MaxAnyAllExpressionDepth |
Získá nebo nastaví maximální hloubku Any nebo Všechny prvky vnořené uvnitř dotazu. Tento limit pomáhá zabránit útokům na dostupnost služby. |
MaxExpansionDepth |
Získá nebo nastaví maximální hloubku rozšíření pro možnost dotazu $expand. Chcete-li zakázat kontrolu maximální hloubky rozšíření, nastavte tuto vlastnost na hodnotu 0. |
MaxNodeCount |
Získá nebo nastaví maximální počet uzlů uvnitř stromu syntaxe $filter. |
MaxOrderByNodeCount |
Získá nebo nastaví maximální počet výrazů, které mohou být přítomny v $orderby. |
MaxSkip |
Získá nebo nastaví maximální hodnotu $skip, které klient může požadovat. |
MaxTop |
Získá nebo nastaví maximální hodnotu $top, které klient může požadovat. |
PageSize |
Získá nebo nastaví maximální počet výsledků dotazu pro odeslání zpět klientům. |
Metody
ApplyQuery(IQueryable, ODataQueryOptions) |
Použije dotaz na zadaný IQueryable na základě příchozího dotazu z identifikátoru URI a nastavení dotazu. Implementace ve výchozím nastavení podporuje $top, $skip, $orderby a $filter. Přepsat tuto metodu provést další dotaz složení dotazu. |
ApplyQuery(Object, ODataQueryOptions) |
Použije dotaz na danou entitu na základě příchozího dotazu z identifikátoru URI a nastavení dotazu. |
CreateErrorResponse(String, Exception) |
Vytvořte chybovou odpověď. |
GetModel(Type, HttpRequest, ActionDescriptor) |
Získá model EDM pro daný typ a požadavek. Přepsáním této metody můžete přizpůsobit model EDM používaný pro dotazování. |
GetModel(Type, HttpRequestMessage, HttpActionDescriptor) |
Získá model EDM pro daný typ a požadavek. Přepsáním této metody můžete přizpůsobit model EDM používaný pro dotazování. |
OnActionExecuted(ActionExecutedContext) |
Provede složení dotazu po provedení akce. Nejprve se pokusí načíst IQueryable z vracející zprávy odpovědi. Potom ověří dotaz z identifikátoru URI na základě nastavení ověřování na EnableQueryAttribute. Nakonec dotaz odpovídajícím způsobem použije a resetuje ho zpět ve zprávě s odpovědí. |
OnActionExecuted(HttpActionExecutedContext) |
Provede složení dotazu po provedení akce. Nejprve se pokusí načíst IQueryable z vracející zprávy odpovědi. Potom ověří dotaz z identifikátoru URI na základě nastavení ověřování na EnableQueryAttribute. Nakonec dotaz odpovídajícím způsobem použije a resetuje ho zpět ve zprávě s odpovědí. |
OnActionExecuting(ActionExecutingContext) |
Tato třída definuje atribut, který lze použít na akci a povolit dotazování pomocí syntaxe dotazu OData. Abyste se vyhnuli zpracování neočekávaných nebo škodlivých dotazů, ověřte příchozí dotazy pomocí nastavení EnableQueryAttribute ověřování. Další informace najdete na stránce http://go.microsoft.com/fwlink/?LinkId=279712. |
ValidateQuery(HttpRequest, ODataQueryOptions) |
Ověří dotaz OData v příchozí žádosti. Ve výchozím nastavení vyvolá implementace výjimku, pokud dotaz obsahuje nepodporované parametry dotazu. Přepsat tuto metodu provést další ověření dotazu. |
ValidateQuery(HttpRequestMessage, ODataQueryOptions) |
Ověří dotaz OData v příchozí žádosti. Ve výchozím nastavení vyvolá implementace výjimku, pokud dotaz obsahuje nepodporované parametry dotazu. Přepsat tuto metodu provést další ověření dotazu. |