Grain<TGrainState> Klasse

Definition

Basisklasse für ein Grain mit deklariertem persistentem Zustand.

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

Typparameter

TGrainState

Die Klasse des Persistent State-Objekts

Vererbung
Grain<TGrainState>

Konstruktoren

Grain<TGrainState>()

Initialisiert eine neue Instanz der Grain<TGrainState>-Klasse.

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

Grain-Implementierungen müssen diesen Konstruktor NICHT verfügbar machen, können dies aber auch tun. Dieser Konstruktor ist besonders nützlich für Komponententests, bei denen Testcode ein Grain erstellen und IGrainIdentity, IGrainRuntime und State durch Testdoppel (Mocks/Stubs) ersetzen kann.

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

Grain-Implementierungen müssen diesen Konstruktor NICHT verfügbar machen, können dies aber auch tun. Dieser Konstruktor ist besonders nützlich für Komponententests, bei denen Testcode ein Grain erstellen und IGrainIdentity, IGrainRuntime und State durch Testdoppel (Mocks/Stubs) ersetzen kann.

Grain<TGrainState>(IStorage<TGrainState>)

Initialisiert eine neue Instanz der Grain<TGrainState>-Klasse.

Eigenschaften

GrainFactory

Ruft ein -Objekt ab, das für den Zugriff auf andere Grains verwendet werden kann. Null, wenn dieses Grain nicht einer Runtime zugeordnet ist, z. B. wenn es direkt für Komponententests erstellt wird.

(Geerbt von Grain)
GrainReference

Basisklasse für ein Grain mit deklariertem persistentem Zustand.

(Geerbt von Grain)
IdentityString

Zeichenfolgendarstellung von Grains SiloIdentity, einschließlich Typ und Primärschlüssel.

(Geerbt von Grain)
RuntimeIdentity

Ein eindeutiger Bezeichner für das aktuelle Silo. Diese Zeichenfolge enthält keinen semantischen Inhalt, kann aber für die Protokollierung nützlich sein.

(Geerbt von Grain)
ServiceProvider

Ruft den von der Runtime verwalteten IServiceProvider ab. Null, wenn dieses Grain nicht einer Runtime zugeordnet ist, z. B. wenn es direkt für Komponententests erstellt wird.

(Geerbt von Grain)
State

Ruft den Körnungszustand ab oder legt diese fest.

Methoden

ClearStateAsync()

Löscht die aktuellen Kornzustandsdaten aus dem Sicherungsspeicher.

DeactivateOnIdle()

Deaktivieren Sie diese Aktivierung des Grains, nachdem der aktuelle Grain-Methodenaufruf abgeschlossen wurde. Dieser Aufruf markiert diese Aktivierung des aktuellen Grains, das am Ende der aktuellen Methode deaktiviert und entfernt werden soll. Der nächste Aufruf dieses Grains führt zu einer anderen zu verwendenden Aktivierung, was typischerweise bedeutet, dass eine neue Aktivierung automatisch von der Runtime erstellt wird.

(Geerbt von Grain)
DelayDeactivation(TimeSpan)

Verzögert die Deaktivierung dieser Aktivierung mindestens für die angegebene Zeitdauer. Ein positiver timeSpan Wert bedeutet "GC dieser Aktivierung für diesen Zeitraum verhindern". Ein negativer timeSpan Wert bedeutet" "Abbrechen der vorherigen Einstellung des DelayDeactivation-Aufrufs und Festlegen des Aktivierungsverhaltens basierend auf den regulären Aktivierungs-Garbage Collection-Einstellungen". Die DeactivateOnIdle-Methode würde jede aktuelle "Keep Alive"-Einstellung rückgängig machen/überschreiben, sodass dieses Grain sofort für die Deaktivierung verfügbar ist.

(Geerbt von Grain)
GetLogger()

Gibt ein Protokollierungsobjekt zurück, das der Code dieses Grains für die Ablaufverfolgung verwenden kann. Der Name der Protokollierung wird vom Namen der Grain-Klasse abgeleitet.

(Geerbt von Grain)
GetLogger(String)

Gibt ein Protokollierungsobjekt zurück, das der Code dieses Grains für die Ablaufverfolgung verwenden kann.

(Geerbt von Grain)
GetReminder(String)

Gibt eine zuvor registrierte Erinnerung zurück.

(Geerbt von Grain)
GetReminders()

Gibt eine Liste aller Erinnerungen zurück, die vom Grain registriert wurden.

(Geerbt von Grain)
GetStreamProvider(String)

Basisklasse für ein Grain mit deklariertem persistentem Zustand.

(Geerbt von Grain)
GetStreamProviders()

Basisklasse für ein Grain mit deklariertem persistentem Zustand.

(Geerbt von Grain)
MigrateOnIdle()

Startet den Versuch, dieses instance zu einem anderen Speicherort zu migrieren. Bei der Migration wird der aktuelle RequestContexterfasst, sodass er dem Placement Director der Aktivierung zur Verfügung gestellt wird, sodass er ihn bei der Auswahl eines neuen Standorts berücksichtigen kann. Die Migration erfolgt asynchron, wenn keine Anforderungen ausgeführt werden, und nicht, wenn der Platzierungsdirektor der Aktivierung keinen alternativen Speicherort auswählt.

(Geerbt von Grain)
OnActivateAsync()

Diese Methode wird am Ende des Vorgangs der Aktivierung eines Grains aufgerufen. Es wird aufgerufen, bevor Nachrichten an das Grain gesendet wurden. Für Grains mit deklariertem persistentem Zustand wird diese Methode aufgerufen, nachdem die State-Eigenschaft aufgefüllt wurde.

(Geerbt von Grain)
OnActivateAsync(CancellationToken)

Diese Methode wird am Ende des Vorgangs der Aktivierung eines Grains aufgerufen. Es wird aufgerufen, bevor Nachrichten an das Grain gesendet wurden. Für Grains mit deklariertem persistentem Zustand wird diese Methode aufgerufen, nachdem die State-Eigenschaft aufgefüllt wurde.

(Geerbt von Grain)
OnDeactivateAsync()

Diese Methode wird am Anfang des Prozesses der Deaktivierung eines Grains aufgerufen.

(Geerbt von Grain)
OnDeactivateAsync(DeactivationReason, CancellationToken)

Diese Methode wird am Anfang des Prozesses der Deaktivierung eines Grains aufgerufen.

(Geerbt von Grain)
Participate(IGrainLifecycle)

Basisklasse für ein Grain mit deklariertem persistentem Zustand.

Participate(IGrainLifecycle)

Basisklasse für ein Grain mit deklariertem persistentem Zustand.

(Geerbt von Grain)
ReadStateAsync()

Liest den Körnungszustand aus dem Sicherungsspeicher und aktualisiert State.

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

Registriert eine dauerhafte, zuverlässige Erinnerung, um regelmäßige Benachrichtigungen (Erinnerungen) an das Grain zu senden. Das Grain muss die Orleans.IRemindable Schnittstelle implementieren, und Erinnerungen für dieses Grain werden an die ReceiveReminder Rückrufmethode gesendet. Wenn das aktuelle Grain deaktiviert wird, wenn der Timer ausgelöst wird, wird eine neue Aktivierung dieses Grains erstellt, um diese Erinnerung zu erhalten. Wenn bereits eine erinnerung mit demselben Namen vorhanden ist, wird diese Erinnerung mit dieser neuen Erinnerung überschrieben. Erinnerungen werden immer durch eine Aktivierung dieses Grains empfangen, auch wenn für dieses Grain mehrere Aktivierungen vorhanden sind.

(Geerbt von Grain)
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)

Registriert einen Timer, um regelmäßige Rückrufe an dieses Grain zu senden.

(Geerbt von Grain)
UnregisterReminder(IGrainReminder)

Hebt die Registrierung einer zuvor registrierten Erinnerung auf.

(Geerbt von Grain)
WriteStateAsync()

Schreiben Sie die aktuellen Daten zum Körnungszustand in den Sicherungsspeicher.

Explizite Schnittstellenimplementierungen

IGrainBase.GrainContext

Basisklasse für ein Grain mit deklariertem persistentem Zustand.

(Geerbt von Grain)

Erweiterungsmethoden

DeactivateOnIdle(IGrainBase)

Deaktivieren Sie diese Grain-Aktivierung, nachdem der aktuelle Grain-Methodenaufruf abgeschlossen wurde. Dieser Aufruf markiert diese Aktivierung des aktuellen Grains, das am Ende der aktuellen Methode deaktiviert und entfernt werden soll. Der nächste Aufruf dieses Grains führt zu einer anderen zu verwendenden Aktivierung, was typischerweise bedeutet, dass eine neue Aktivierung automatisch von der Runtime erstellt wird.

MigrateOnIdle(IGrainBase)

Startet den Versuch, dieses instance zu einem anderen Speicherort zu migrieren. Bei der Migration wird der aktuelle RequestContexterfasst, sodass er dem Placement Director der Aktivierung zur Verfügung gestellt wird, sodass er ihn bei der Auswahl eines neuen Standorts berücksichtigen kann. Die Migration erfolgt asynchron, wenn keine Anforderungen ausgeführt werden, und nicht, wenn der Platzierungsdirektor der Aktivierung keinen alternativen Speicherort auswählt.

AsReference(IAddressable, Type)

Gibt einen typisierten Verweis auf das bereitgestellte Grain zurück.

AsReference<TGrainInterface>(IAddressable)

Gibt einen typisierten Verweis auf das bereitgestellte Grain zurück.

BindGrainReference(IAddressable, IGrainFactory)

Bindet den Körnungsverweis an die bereitgestellte IGrainFactory.

Cast(IAddressable, Type)

Gibt einen typisierten Verweis auf das bereitgestellte Grain zurück.

Cast<TGrainInterface>(IAddressable)

Gibt einen typisierten Verweis auf das bereitgestellte Grain zurück.

GetGrainId(IAddressable)

Gibt die Grain-ID zurück, die dem angegebenen Grain entspricht.

GetPrimaryKey(IAddressable)

Gibt die Guid Darstellung eines körnigen Primärschlüssels zurück.

GetPrimaryKey(IAddressable, String)

Gibt die Guid Darstellung eines körnigen Primärschlüssels zurück.

GetPrimaryKeyLong(IAddressable)

Gibt die long Darstellung eines körnigen Primärschlüssels zurück.

GetPrimaryKeyLong(IAddressable, String)

Gibt die long Darstellung eines körnigen Primärschlüssels zurück.

GetPrimaryKeyString(IAddressable)

Gibt den string Primärschlüssel des Grains zurück.

IsPrimaryKeyBasedOnLong(IAddressable)

Gibt zurück, ob ein Teil des Primärschlüssels vom Typ longist.

GetReminder(Grain, String)

Gibt eine zuvor registrierte Erinnerung zurück.

GetReminder(IGrainBase, String)

Gibt eine zuvor registrierte Erinnerung zurück.

GetReminders(Grain)

Gibt eine Liste aller Erinnerungen zurück, die vom Grain registriert wurden.

GetReminders(IGrainBase)

Gibt eine Liste aller Erinnerungen zurück, die vom Grain registriert wurden.

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

Registriert eine dauerhafte, zuverlässige Erinnerung, um regelmäßige Benachrichtigungen (Erinnerungen) an das Grain zu senden. Das Grain muss die Orleans.IRemindable Schnittstelle implementieren, und Erinnerungen für dieses Grain werden an die ReceiveReminder Rückrufmethode gesendet. Wenn das aktuelle Grain deaktiviert wird, wenn der Timer ausgelöst wird, wird eine neue Aktivierung dieses Grains erstellt, um diese Erinnerung zu erhalten. Wenn bereits eine erinnerung mit demselben Namen vorhanden ist, wird diese Erinnerung mit dieser neuen Erinnerung überschrieben. Erinnerungen werden immer durch eine Aktivierung dieses Grains empfangen, auch wenn für dieses Grain mehrere Aktivierungen vorhanden sind.

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

Registriert eine dauerhafte, zuverlässige Erinnerung, um regelmäßige Benachrichtigungen (Erinnerungen) an das Grain zu senden. Das Grain muss die Orleans.IRemindable Schnittstelle implementieren, und Erinnerungen für dieses Grain werden an die ReceiveReminder Rückrufmethode gesendet. Wenn das aktuelle Grain deaktiviert wird, wenn der Timer ausgelöst wird, wird eine neue Aktivierung dieses Grains erstellt, um diese Erinnerung zu erhalten. Wenn bereits eine erinnerung mit demselben Namen vorhanden ist, wird diese Erinnerung mit dieser neuen Erinnerung überschrieben. Erinnerungen werden immer durch eine Aktivierung dieses Grains empfangen, auch wenn für dieses Grain mehrere Aktivierungen vorhanden sind.

UnregisterReminder(Grain, IGrainReminder)

Hebt die Registrierung einer zuvor registrierten Erinnerung auf.

UnregisterReminder(IGrainBase, IGrainReminder)

Hebt die Registrierung einer zuvor registrierten Erinnerung auf.

GetStreamProvider(Grain, String)

Ruft den Streamanbieter mit dem angegebenen nameab.

GetStreamProvider(IGrainBase, String)

Ruft den Streamanbieter mit dem angegebenen nameab.

GetLogger(Grain)

Gibt ein Protokollierungsobjekt zurück, das der Code dieses Grains für die Ablaufverfolgung verwenden kann. Der Name der Protokollierung wird vom Namen der Grain-Klasse abgeleitet.

GetLogger(Grain, String)

Gibt ein Protokollierungsobjekt zurück, das der Code dieses Grains für die Ablaufverfolgung verwenden kann.

GetGrainStorage(Grain, IServiceProvider)

Rufen Sie den Speicheranbieter ab, der dem Grain-Typ zugeordnet ist.

Gilt für: