幂等属性
[幂等] 属性指定操作不修改状态信息,并在每次执行操作时返回相同的结果。 多次执行例程的效果与执行一次相同。
[
interface-attribute-list
]
interface interface-name
{
[idempotent [, attribute-list]] returntype function-name(params)
}
-
interface-attribute-list
-
指定应用于接口的零个或多个 IDL 属性作为一个整体的列表。 如果存在两个或多个接口属性,则必须用逗号分隔它们。
-
interface-name
-
指定接口的名称。
-
attribute-list
-
指定要应用于函数的其他属性。 用逗号分隔多个属性。
-
returntype
-
指定函数的返回类型。
-
function-name
-
指定要应用 [幂等] 属性的函数的名称。
-
params
-
函数参数列表。
RPC 支持两种类型的远程调用语义:对具有 [幂等] 属性的操作的调用和对操作 (幂等 操作的调用,) 不使用 [idempotent] 属性 (非幂等 操作) 。 幂等运算可以多次执行,没有不良效果。 相反,非幂等操作不能多次执行,因为它每次都会返回不同的结果,或者因为它修改了某些状态。
若要确保在调用未完成时自动重新执行过程,请使用 [幂等] 属性。 如果 [幂等]、 [broadcast]或 [可能] 属性不存在,则该过程默认使用非幂等语义。 在这种情况下,该操作只执行一次。