Clase InvokeAttribute

Especifica que un método DomainService es una operación de invocación.

Espacio de nombres: System.ServiceModel.DomainServices.Server
Ensamblado: System.ServiceModel.DomainServices.Server (en system.servicemodel.domainservices.server.dll)

Uso

'Uso
Dim instance As InvokeAttribute

Sintaxis

'Declaración
<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

Notas

El atributo InvokeAttribute se aplica a un método para indicar que es un método de invocación, o bien para especificar determinados valores del método de invocación. Si el método coincide con la firma de método esperada para un método de invocación, no es necesario aplicar InvokeAttribute. El marco de trabajo de WCF RIA Services deducirá que un método con la firma de invocación esperada se debe tratar como una operación de invocación. Puede aplicar el atributo IgnoreAttribute a un método para impedir que el marco de trabajo de RIA Services genere una operación de dominio para ese método.

Una operación de invocación es una operación que debe ejecutarse sin seguimiento o ejecución aplazada. Se debe usar únicamente con datos que no sean de entidad y solo cuando no se puedan usar operaciones de consulta, actualización, inserción o eliminación en su lugar. En casi todos los escenarios, se deben usar operaciones de consulta en lugar de operaciones de invocación para la carga de datos. Los métodos de consulta devuelven un único objeto Entity, un objeto IQueryable<Entity> o un objeto IEnumerable<Entity>. Los métodos de consulta son una parte integral del modelo de datos que admite DomainService en el nivel intermedio y DomainContext en el cliente. El marco de trabajo de RIA Services genera entidades en el proyecto de cliente solo para las entidades devueltas por los métodos de consulta de DomainService. Incluso cuando una operación de invocación devuelve una entidad, la entidad se genera para el proyecto de cliente únicamente si la devuelve un método de consulta.

A continuación se muestra la firma esperada para un método de invocación:

Valor devuelto

Cualquiera

Parámetros

Cualquiera

Prefijo de nombre

Cualquiera

Atributo

[Invoke] (C#)

O bien

<Invoke> (Visual Basic)

Ejemplo

[Invoke]

public decimal GetCompetitorsPrice(Product product) (C#)

O bien

<Invoke> _

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

Jerarquía de herencia

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

Seguridad para subprocesos

Cualquier miembro estático público (Compartidos en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Plataformas

Plataformas de desarrollo

Microsoft Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 y Windows 2000

Plataformas de destino

Vea también

Referencia

Miembros InvokeAttribute
Espacio de nombres System.ServiceModel.DomainServices.Server