Grain Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe base astratta per tutte le classi di granularità.
public abstract class Grain : Orleans.Runtime.IAddressable
public abstract class Grain : Orleans.ILifecycleParticipant<Orleans.Runtime.IGrainLifecycle>, Orleans.Runtime.IAddressable
public abstract class Grain : Orleans.IGrainBase, Orleans.Runtime.IAddressable
type Grain = class
interface IAddressable
type Grain = class
interface IAddressable
interface ILifecycleParticipant<IGrainLifecycle>
type Grain = class
interface IGrainBase
interface IAddressable
Public MustInherit Class Grain
Implements IAddressable
Public MustInherit Class Grain
Implements IAddressable, ILifecycleParticipant(Of IGrainLifecycle)
Public MustInherit Class Grain
Implements IAddressable, IGrainBase
- Ereditarietà
-
Grain
- Derivato
- Implementazioni
Costruttori
Grain() |
Questo costruttore non deve mai essere richiamato. Viene esposto in modo che il codice client (sottoclassi di Grain) non sia necessario aggiungere un costruttore. Il codice client deve usare la proprietà GrainFactory per ottenere un riferimento a un oggetto Grain. |
Grain(IGrainContext, IGrainRuntime) |
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 e IGrainRuntime con valori double di test (mocks/stub). |
Grain(IGrainIdentity, IGrainRuntime) |
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 e IGrainRuntime con valori double di test (mocks/stub). |
Proprietà
GrainContext |
Classe base astratta per tutte le classi di granularità. |
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. |
GrainReference |
Classe base astratta per tutte le classi di granularità. |
IdentityString |
Rappresentazione di stringa della siloIdentity di granularità, inclusi il tipo e la chiave primaria. |
RuntimeIdentity |
Identificatore univoco per il silo corrente. Non esiste contenuto semantico per questa stringa, ma può essere utile per la registrazione. |
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. |
Metodi
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. |
DelayDeactivation(TimeSpan) |
Disattivazione ritardata dell'attivazione almeno per la durata specificata.
Un valore positivo |
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. |
GetLogger(String) |
Restituisce un oggetto logger che il codice di questa granularità può usare per la traccia. |
GetReminder(String) |
Restituisce un promemoria registrato in precedenza. |
GetReminders() |
Restituisce un elenco di tutti i promemoria registrati dalla granularità. |
GetStreamProvider(String) |
Classe base astratta per tutte le classi di granularità. |
GetStreamProviders() |
Classe base astratta per tutte le classi di granularità. |
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. |
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. |
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. |
OnDeactivateAsync() |
Questo metodo viene chiamato all'inizio del processo di disattivazione di una granularità. |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
Questo metodo viene chiamato all'inizio del processo di disattivazione di una granularità. |
Participate(IGrainLifecycle) |
Classe base astratta per tutte le classi di granularità. |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
Registra un promemoria permanente e affidabile per inviare notifiche regolari (promemoria) alla granularità.
La granularità deve implementare l'interfaccia |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
Obsoleti.
Registra un timer per inviare callback periodici a questa granularità. |
UnregisterReminder(IGrainReminder) |
Annulla la registrazione di un promemoria registrato in precedenza. |
Implementazioni dell'interfaccia esplicita
IGrainBase.GrainContext |
Classe base astratta per tutte le classi di granularità. |
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 base astratta per tutte le classi di granularità. |
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 base astratta per tutte le classi di granularità. |
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 |
GetPrimaryKeyLong(IAddressable, String) |
Restituisce la rappresentazione |
GetPrimaryKeyString(IAddressable) |
Restituisce l' |
IsPrimaryKeyBasedOnLong(IAddressable) |
Restituisce un valore che indica se parte della chiave primaria è di tipo |
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 |
RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan) |
Registra un promemoria permanente e affidabile per inviare notifiche regolari (promemoria) alla granularità.
La granularità deve implementare l'interfaccia |
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 |
GetStreamProvider(IGrainBase, String) |
Ottiene il provider di flusso con il |
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à. |