Condividi tramite


Attributo idempotente

L'attributo [idempotente] specifica che un'operazione non modifica le informazioni sullo stato e restituisce gli stessi risultati ogni volta che viene eseguita. L'esecuzione della routine più di una volta ha lo stesso effetto dell'esecuzione.

[
    interface-attribute-list
] 
interface interface-name 
{
    [idempotent [, attribute-list]] returntype function-name(params)
}

Parametri

interface-attribute-list

Specifica un elenco di zero o più attributi IDL che si applicano all'interfaccia nel suo complesso. Quando sono presenti due o più attributi di interfaccia, devono essere separati da virgole.

nome dell'interfaccia

Specifica il nome dell'interfaccia.

attribute-list

Specifica attributi aggiuntivi da applicare alla funzione. Separare più attributi con virgole.

Returntype

Specifica il tipo restituito della funzione.

nome funzione

Specifica il nome della funzione a cui verrà applicato l'attributo [idempotente].

params

Elenco dei parametri della funzione.

Commenti

RPC supporta due tipi di semantica delle chiamate remote: chiamate alle operazioni con l'attributo [idempotente] e le chiamate alle operazioni (operazioni idempotenti ) senza l'attributo [idempotente] (operazioni non idempotenti ). Un'operazione idempotente può essere eseguita più volte senza alcun effetto male. Al contrario, un'operazione non idempotente non può essere eseguita più di una volta perché restituirà risultati diversi ogni volta o perché modifica uno stato.

Per assicurarsi che una routine venga eseguita automaticamente se la chiamata non viene completata, usare l'attributo [idempotente]. Se gli attributi [idempotenti], [broadcast]o [forse] non sono presenti, la procedura userà la semantica non idempotente per impostazione predefinita. In questo caso, l'operazione viene eseguita una sola volta.

Vedi anche

Trasmissione

File IDL (Interface Definition)

Forse