InvokeAttribute 类

指定 DomainService 方法为调用操作。

命名空间: System.ServiceModel.DomainServices.Server
程序集: System.ServiceModel.DomainServices.Server(在 system.servicemodel.domainservices.server.dll 中)

用法

用法
Dim instance As InvokeAttribute

语法

声明
<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

备注

您可以对某方法应用 InvokeAttribute 特性以指示该方法为调用方法,或指定调用方法的特定值。如果您的方法与调用方法的预期方法签名匹配,则不需要应用 InvokeAttribute。WCF RIA Services 框架将推断具有预期调用签名的方法应视为调用操作。您可以对某方法应用 IgnoreAttribute 以防止 RIA Services 框架为该方法生成域操作。

调用操作是一种需要在没有跟踪或延迟执行的情况下执行的操作。您只应将调用操作用于非实体数据,且只有在不能改用查询、更新、插入或删除操作时应使用此操作。在几乎所有方案中,您应使用查询操作而非调用操作来加载数据。查询方法会返回单个 Entity 对象、一个 IQueryable<Entity> 对象或一个 IEnumerable<Entity> 对象。查询方法是由中间层上的 DomainService 以及客户端上的 DomainContext 支持的数据模式的必要组成部分。RIA Services 框架会在客户端项目中仅为那些从 DomainService 中的查询方法返回的实体生成实体。即使在调用操作返回某实体时,仍会为客户端项目生成该实体(只有在查询方法返回该实体情况下)。

下面演示了调用方法的预期签名:

返回值

任意

参数

任意

名称前缀

任意

特性

[Invoke] (C#)

-或-

<Invoke> (Visual Basic)

示例

[Invoke]

public decimal GetCompetitorsPrice(Product product) (C#)

-或-

<Invoke> _

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

继承层次结构

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

线程安全

此类型的任何公共静态(在 Visual Basic 中为 共享)成员都是线程安全的。不保证所有实例成员都是线程安全的。

平台

开发平台

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000

目标平台

另请参见

参考

InvokeAttribute 成员
System.ServiceModel.DomainServices.Server 命名空间