Condividi tramite


Grain<TGrainState> Classe

Definizione

Classe di base per un oggetto Grain con stato persistente dichiarato.

public class Grain<TGrainState> : Orleans.Grain where TGrainState : new()
public class Grain<TGrainState> : Orleans.Grain
type Grain<'GrainState (requires 'GrainState : (new : unit -> 'GrainState))> = class
    inherit Grain
type Grain<'GrainState> = class
    inherit Grain
Public Class Grain(Of TGrainState)
Inherits Grain

Parametri di tipo

TGrainState

Classe dell'oggetto stato persistente

Ereditarietà
Grain<TGrainState>

Costruttori

Grain<TGrainState>()

Inizializza una nuova istanza della classe Grain<TGrainState>.

Grain<TGrainState>(IGrainIdentity, IGrainRuntime, IStorage<TGrainState>)

Gli implementatori granulari non devono esporre questo costruttore, ma possono scegliere di farlo. Questo costruttore è particolarmente utile per gli unit test in cui il codice di test può creare un oggetto Grain e sostituire IGrainIdentity, IGrainRuntime e State con double di test (mocks/stub).

Grain<TGrainState>(IGrainIdentity, IGrainRuntime, TGrainState, IStorage)

Gli implementatori granulari non devono esporre questo costruttore, ma possono scegliere di farlo. Questo costruttore è particolarmente utile per gli unit test in cui il codice di test può creare un oggetto Grain e sostituire IGrainIdentity, IGrainRuntime e State con double di test (mocks/stub).

Grain<TGrainState>(IStorage<TGrainState>)

Inizializza una nuova istanza della classe Grain<TGrainState>.

Proprietà

GrainContext

Classe di base per un oggetto Grain con stato persistente dichiarato.

(Ereditato da Grain)
GrainFactory

Ottiene un oggetto che può essere utilizzato per accedere ad altri grani. Null se questo granularità non è associato a un runtime, ad esempio quando viene creato direttamente per gli unit test.

(Ereditato da Grain)
GrainReference

Classe di base per un oggetto Grain con stato persistente dichiarato.

(Ereditato da Grain)
IdentityString

Rappresentazione di stringa della siloIdentity di granularità, inclusi il tipo e la chiave primaria.

(Ereditato da Grain)
RuntimeIdentity

Identificatore univoco per il silo corrente. Non esiste contenuto semantico per questa stringa, ma può essere utile per la registrazione.

(Ereditato da Grain)
ServiceProvider

Ottiene l'oggetto IServiceProvider gestito dal runtime. Null se questo granularità non è associato a un runtime, ad esempio quando viene creato direttamente per gli unit test.

(Ereditato da Grain)
State

Ottiene o imposta lo stato di granularità.

Metodi

ClearStateAsync()

Cancella i dati dello stato di granularità correnti dall'archivio di backup.

DeactivateOnIdle()

Disattivare questa attivazione della granularità dopo il completamento della chiamata al metodo granulare corrente. Questa chiamata contrassegnerà questa attivazione della granularità corrente da disattivare e rimuovere alla fine del metodo corrente. La chiamata successiva a questa granularità comporterà un'attivazione diversa da usare, che in genere significa che una nuova attivazione verrà creata automaticamente dal runtime.

(Ereditato da Grain)
DelayDeactivation(TimeSpan)

Disattivazione ritardata dell'attivazione almeno per la durata specificata. Un valore positivo timeSpan significa "impedire il GC di questa attivazione per tale intervallo di tempo". Un valore negativo timeSpan significa "annullare l'impostazione precedente della chiamata DelayDeactivation e fare in modo che l'attivazione si comporti in base alle normali impostazioni di Garbage Collection di attivazione". Il metodo DeactivateOnIdle annulla/esegue l'override di qualsiasi impostazione corrente "keep alive", rendendo immediatamente disponibile questo granulare per la disattivazione.

(Ereditato da Grain)
GetLogger()

Restituisce un oggetto logger che il codice di questa granularità può usare per la traccia. Il nome del logger verrà derivato dal nome della classe granulare.

(Ereditato da Grain)
GetLogger(String)

Restituisce un oggetto logger che il codice di questa granularità può usare per la traccia.

(Ereditato da Grain)
GetReminder(String)

Restituisce un promemoria registrato in precedenza.

(Ereditato da Grain)
GetReminders()

Restituisce un elenco di tutti i promemoria registrati dalla granularità.

(Ereditato da Grain)
GetStreamProvider(String)

Classe di base per un oggetto Grain con stato persistente dichiarato.

(Ereditato da Grain)
GetStreamProviders()

Classe di base per un oggetto Grain con stato persistente dichiarato.

(Ereditato da Grain)
MigrateOnIdle()

Avvia un tentativo di migrazione dell'istanza in un'altra posizione. La migrazione acquisisce l'RequestContextcorrente, rendendola disponibile per la directory di posizionamento dell'attivazione in modo che possa considerarla quando si seleziona una nuova posizione. La migrazione verrà eseguita in modo asincrono, quando non vengono eseguite richieste e non si verificherà se il director di posizionamento dell'attivazione non seleziona una posizione alternativa.

(Ereditato da Grain)
OnActivateAsync()

Questo metodo viene chiamato alla fine del processo di attivazione di una granularità. Viene chiamato prima che tutti i messaggi siano stati inviati alla granularità. Per i grani con stato persistente dichiarato, questo metodo viene chiamato dopo che la proprietà State è stata popolata.

(Ereditato da Grain)
OnActivateAsync(CancellationToken)

Questo metodo viene chiamato alla fine del processo di attivazione di una granularità. Viene chiamato prima che tutti i messaggi siano stati inviati alla granularità. Per i grani con stato persistente dichiarato, questo metodo viene chiamato dopo che la proprietà State è stata popolata.

(Ereditato da Grain)
OnDeactivateAsync()

Questo metodo viene chiamato all'inizio del processo di disattivazione di una granularità.

(Ereditato da Grain)
OnDeactivateAsync(DeactivationReason, CancellationToken)

Questo metodo viene chiamato all'inizio del processo di disattivazione di una granularità.

(Ereditato da Grain)
Participate(IGrainLifecycle)

Classe di base per un oggetto Grain con stato persistente dichiarato.

Participate(IGrainLifecycle)

Classe di base per un oggetto Grain con stato persistente dichiarato.

(Ereditato da Grain)
ReadStateAsync()

Legge lo stato di granularità dall'archivio di backup, aggiornando State.

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

Registra un promemoria permanente e affidabile per inviare notifiche regolari (promemoria) alla granularità. La granularità deve implementare l'interfaccia Orleans.IRemindable e i promemoria per questo granularità verranno inviati al metodo di callback ReceiveReminder. Se la granularità corrente viene disattivata quando il timer viene attivato, verrà creata una nuova attivazione di questo granulare per ricevere questo promemoria. Se esiste già un promemoria esistente con lo stesso nome, il promemoria verrà sovrascritto con questo nuovo promemoria. I promemoria verranno sempre ricevuti da un'attivazione di questo granularità, anche se esistono più attivazioni per questo granularità.

(Ereditato da Grain)
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)
Obsoleti.

Registra un timer per inviare callback periodici a questa granularità.

(Ereditato da Grain)
UnregisterReminder(IGrainReminder)

Annulla la registrazione di un promemoria registrato in precedenza.

(Ereditato da Grain)
WriteStateAsync()

Scrivere i dati sullo stato di granularità correnti nell'archivio di backup.

Implementazioni dell'interfaccia esplicita

IGrainBase.GrainContext

Classe di base per un oggetto Grain con stato persistente dichiarato.

(Ereditato da Grain)

Metodi di estensione

DeactivateOnIdle(IGrainBase)

Disattivare questa attivazione granulare dopo il completamento della chiamata al metodo granulare corrente. Questa chiamata contrassegnerà questa attivazione della granularità corrente da disattivare e rimuovere alla fine del metodo corrente. La chiamata successiva a questa granularità comporterà un'attivazione diversa da usare, che in genere significa che una nuova attivazione verrà creata automaticamente dal runtime.

MigrateOnIdle(IGrainBase)

Avvia un tentativo di migrazione dell'istanza in un'altra posizione. La migrazione acquisisce l'RequestContextcorrente, rendendola disponibile per la directory di posizionamento dell'attivazione in modo che possa considerarla quando si seleziona una nuova posizione. La migrazione verrà eseguita in modo asincrono, quando non vengono eseguite richieste e non si verificherà se il director di posizionamento dell'attivazione non seleziona una posizione alternativa.

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions)

Crea un timer di granularità.

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan)

Crea un timer di granularità.

RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)

Classe di base per un oggetto Grain con stato persistente dichiarato.

RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan)

Crea un timer di granularità.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions)

Crea un timer di granularità.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan)

Crea un timer di granularità.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions)

Classe di base per un oggetto Grain con stato persistente dichiarato.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan)

Crea un timer di granularità.

AsReference(IAddressable, Type)

Restituisce un riferimento tipizzato alla granularità specificata.

AsReference<TGrainInterface>(IAddressable)

Restituisce un riferimento tipizzato alla granularità specificata.

BindGrainReference(IAddressable, IGrainFactory)

Associa il riferimento granulare al IGrainFactoryfornito.

Cast(IAddressable, Type)

Restituisce un riferimento tipizzato alla granularità specificata.

Cast<TGrainInterface>(IAddressable)

Restituisce un riferimento tipizzato alla granularità specificata.

GetGrainId(IAddressable)

Restituisce l'ID granulare corrispondente alla granularità specificata.

GetPrimaryKey(IAddressable)

Restituisce la rappresentazione Guid di una chiave primaria granulare.

GetPrimaryKey(IAddressable, String)

Restituisce la rappresentazione Guid di una chiave primaria granulare.

GetPrimaryKeyLong(IAddressable)

Restituisce la rappresentazione long di una chiave primaria granulare.

GetPrimaryKeyLong(IAddressable, String)

Restituisce la rappresentazione long di una chiave primaria granulare.

GetPrimaryKeyString(IAddressable)

Restituisce l'string chiave primaria della granularità.

IsPrimaryKeyBasedOnLong(IAddressable)

Restituisce un valore che indica se parte della chiave primaria è di tipo long.

GetReminder(Grain, String)

Restituisce un promemoria registrato in precedenza.

GetReminder(IGrainBase, String)

Restituisce un promemoria registrato in precedenza.

GetReminders(Grain)

Restituisce un elenco di tutti i promemoria registrati dalla granularità.

GetReminders(IGrainBase)

Restituisce un elenco di tutti i promemoria registrati dalla granularità.

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

Registra un promemoria permanente e affidabile per inviare notifiche regolari (promemoria) alla granularità. La granularità deve implementare l'interfaccia Orleans.IRemindable e i promemoria per questo granularità verranno inviati al metodo di callback ReceiveReminder. Se la granularità corrente viene disattivata quando il timer viene attivato, verrà creata una nuova attivazione di questo granulare per ricevere questo promemoria. Se esiste già un promemoria esistente con lo stesso nome, il promemoria verrà sovrascritto con questo nuovo promemoria. I promemoria verranno sempre ricevuti da un'attivazione di questo granularità, anche se esistono più attivazioni per questo granularità.

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

Registra un promemoria permanente e affidabile per inviare notifiche regolari (promemoria) alla granularità. La granularità deve implementare l'interfaccia Orleans.IRemindable e i promemoria per questo granularità verranno inviati al metodo di callback ReceiveReminder. Se la granularità corrente viene disattivata quando il timer viene attivato, verrà creata una nuova attivazione di questo granulare per ricevere questo promemoria. Se esiste già un promemoria esistente con lo stesso nome, il promemoria verrà sovrascritto con questo nuovo promemoria. I promemoria verranno sempre ricevuti da un'attivazione di questo granularità, anche se esistono più attivazioni per questo granularità.

UnregisterReminder(Grain, IGrainReminder)

Annulla la registrazione di un promemoria registrato in precedenza.

UnregisterReminder(IGrainBase, IGrainReminder)

Annulla la registrazione di un promemoria registrato in precedenza.

GetStreamProvider(Grain, String)

Ottiene il provider di flusso con il namespecificato.

GetStreamProvider(IGrainBase, String)

Ottiene il provider di flusso con il namespecificato.

GetLogger(Grain)

Restituisce un oggetto logger che il codice di questa granularità può usare per la traccia. Il nome del logger verrà derivato dal nome della classe granulare.

GetLogger(Grain, String)

Restituisce un oggetto logger che il codice di questa granularità può usare per la traccia.

GetGrainStorage(Grain, IServiceProvider)

Acquisire il provider di archiviazione associato al tipo di granularità.

Si applica a