Classe InvokeAttribute

Spécifie qu'une méthode DomainService est une opération d'appel.

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

Utilisation

'Utilisation
Dim instance As InvokeAttribute

Syntaxe

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

Notes

Vous appliquez l'attribut InvokeAttribute à une méthode pour indiquer qu'il s'agit d'une méthode invoke ou afin de spécifier certaines valeurs pour la méthode invoke. Si votre méthode correspond à la signature de méthode attendue pour une méthode invoke, il est inutile d'appliquer InvokeAttribute. L'infrastructure des Services RIA WCF déduira qu'une méthode ayant la signature invoke attendue doit être traitée comme une opération d'appel. 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.

Une opération d'appel est une opération qui doit être exécutée sans suivi ou exécution différée. Vous devez l'utiliser uniquement avec des données non-entité, et uniquement lorsqu'il n'est pas possible d'utiliser à la place des opérations de requête, de mise à jour, d'insertion ou de suppression. Dans la plupart des scénarios, il est préférable d'utiliser des opérations de requête, et non des opérations d'appel, pour charger des données. Les méthodes de requête retournent soit un seul objet Entity et un objet IQueryable<Entity>, soit un objet IEnumerable<Entity>. Les méthodes de requête font partie intégrante du modèle de données pris en charge par DomainService sur la couche intermédiaire et par DomainContext sur le client. L'infrastructure des Services RIA ne génère des entités dans le projet client que pour les entités retournées par les méthodes de requête dans un DomainService. Même quand une opération d'appel retourne une entité, l'entité n'est générée pour le projet client que si elle est retournée par une méthode de requête.

Les éléments suivants affichent la signature attendue pour la méthode invoke :

Valeur de retour

Toutes

Paramètres

Tous

Préfixe de nom

Tous

Attribut

[Invoke] (C#)

- ou -

<Invoke> (Visual Basic)

Exemple

[Invoke]

public decimal GetCompetitorsPrice(Product product) (C#)

- ou -

<Invoke> _

Public GetCompetitorsPrice(ByVal product As Product) As Decimal (Visual Basic)

Hiérarchie d'héritage

System.Object
   System.Attribute
    System.ServiceModel.DomainServices.Server.InvokeAttribute

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 InvokeAttribute
Espace de noms System.ServiceModel.DomainServices.Server