等冪屬性
[等冪]屬性會指定作業不會修改狀態資訊,並在每次執行時傳回相同的結果。 執行常式多次的效果與執行一次相同。
[
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]或 [可能] 屬性不存在,則程式預設會使用非等冪語意。 在此情況下,作業只會執行一次。