Classe QueryAttribute

Spécifie qu'une méthode DomainService est une méthode de requête.

Espace de noms: System.ServiceModel.DomainServices.Server
Assembly : System.ServiceModel.DomainServices.Server (dans system.servicemodel.domainservices.server.dll)

Utilisation

'Utilisation
Dim instance As QueryAttribute

Syntaxe

'Déclaration
<AttributeUsageAttribute(AttributeTargets.Method Or AttributeTargets.Property Or AttributeTargets.Field, AllowMultiple:=False, Inherited:=True)> _
Public NotInheritable Class QueryAttribute
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true)] 
public sealed class QueryAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method|AttributeTargets::Property|AttributeTargets::Field, AllowMultiple=false, Inherited=true)] 
public ref class QueryAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true) */ 
public final class QueryAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true) 
public final class QueryAttribute extends Attribute

Notes

Vous appliquez l'attribut QueryAttribute à une méthode pour indiquer qu'il s'agit d'une méthode de requête ou afin de spécifier certaines valeurs pour la méthode de requête. Si votre méthode correspond à la signature de méthode attendue pour une méthode de requête, il est inutile d'appliquer QueryAttribute. L'infrastructure des Services RIA déduira qu'une méthode portant la signature de requête attendue doit être traitée comme une requête. Vous appliquez IgnoreAttribute à une méthode pour empêcher l'infrastructure des Services RIA de générer une opération de domaine pour cette méthode.

Les éléments suivants affichent la signature attendue pour une méthode de requête :

Valeur de retour

IEnumerable<T>, IQueryable<T> ou entité

Paramètres

Nombre quelconque

Préfixe de nom

Nom quelconque

Attribut

[Query] (C#)

- ou -

<Query()> (Visual Basic)

Exemple

public IQueryable<Product> GetProducts() (C#)

- ou -

Public Function GetProducts() As IQueryable(Of Product) (Visual Basic)

La classe QueryAttribute vous permet de définir des valeurs utilisées lors du traitement de la requête d'interrogation. Vous définissez la propriété ResultLimit afin de limiter le nombre d'enregistrements retournés pour une requête. Vous pouvez définir cette valeur de façon à empêcher un utilisateur de surcharger le serveur avec de grandes requêtes d'interrogation. Pour plus d'informations, consultez Security for WCF RIA Services. La propriété IsComposable vous permet de spécifier si le code du projet client peut modifier les résultats de la requête en utilisant la méthode de requête dans une nouvelle requête. Par exemple, lorsque IsComposable a la valeur true, vous pouvez ajouter une clause Where du code client à une requête du serveur qui retourne tous les enregistrements d'une table de base de données.

Hiérarchie d'héritage

System.Object
   System.Attribute
    System.ServiceModel.DomainServices.Server.QueryAttribute

Sécurité des threads

Tous les membres publics statiques (Partagés dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Plateformes

Plateformes de développement

Windows XP Édition familiale, Windows XP Professionnel, Windows Server 2003 , Windows Server 2008 et Windows 2000

Plateformes cibles

Voir aussi

Référence

Membres QueryAttribute
Espace de noms System.ServiceModel.DomainServices.Server