Share via


Classe InvokeAttribute

Specifica che un metodo DomainService è un'operazione invoke.

Spazio dei nomi: System.ServiceModel.DomainServices.Server
Assembly: System.ServiceModel.DomainServices.Server (in system.servicemodel.domainservices.server.dll)

Utilizzo

'Utilizzo
Dim instance As InvokeAttribute

Sintassi

'Dichiarazione
<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

Osservazioni

L'attributo InvokeAttribute si applica a un metodo per indicare che si tratta di un metodo Invoke oppure per specificare determinati valori per il metodo Invoke. Se il metodo corrisponde alla firma del metodo prevista per un metodo Invoke, non è necessario applicare l'oggetto InvokeAttribute. Tramite il framework WCF RIA Services verrà dedotto che un metodo con la firma Invoke prevista deve essere trattato come operazione invoke. L'oggetto IgnoreAttribute si applica a un metodo per impedire la generazione di un'operazione di dominio per tale metodo da parte del framework RIA Services .

Un'operazione invoke è un'operazione che deve essere eseguita senza rilevamento o esecuzione posticipata. È consigliabile utilizzare questa operazione solo con i dati non di tipo entità e solo quando al suo posto non è possibile utilizzare operazioni di query, aggiornamento, inserimento o eliminazione. In quasi tutti gli scenari è consigliabile utilizzare operazioni di query anziché operazioni invoke per caricare i dati. I metodi di query restituiscono un singolo oggetto Entity, un oggetto IQueryable<Entity> o un oggetto IEnumerable<Entity>. I metodi di query sono parte integrante del modello di dati supportato da DomainService a livello intermedio e da DomainContext nel client. Tramite il framework RIA Services vengono generate entità nel progetto client solo per le entità restituite dai metodi di query in un oggetto DomainService. Anche quando un'operazione invoke restituisce un'entità, l'entità viene generata per il progetto client solo se viene restituita da un metodo di query.

Di seguito viene indicata la firma prevista per un metodo Invoke:

Valore restituito

Qualsiasi

Parametri

Qualsiasi

Prefisso del nome

Qualsiasi

Attributo

[Invoke] (C#)

-o-

<Invoke> (Visual Basic)

Esempio

[Invoke]

public decimal GetCompetitorsPrice(Product product) (C#)

-o-

<Invoke> _

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

Gerarchia di ereditarietà

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

Sicurezza dei thread

Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.

Piattaforme

Piattaforme di sviluppo

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 e Windows 2000

Piattaforme di destinazione

Vedere anche

Riferimento

Membri InvokeAttribute
Spazio dei nomi System.ServiceModel.DomainServices.Server