Grain Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Die abstrakte Basisklasse für alle Grain-Klassen.
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
- Vererbung
-
Grain
- Abgeleitet
- Implementiert
Konstruktoren
Grain() |
Dieser Konstruktor sollte niemals aufgerufen werden. Wir machen sie verfügbar, damit Clientcode (Unterklassen von Grain) keinen Konstruktor hinzufügen muss. Clientcode sollte die GrainFactory-Eigenschaft verwenden, um einen Verweis auf ein Grain abzurufen. |
Grain(IGrainContext, IGrainRuntime) |
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 und IGrainRuntime durch Testdoppel (Mocks/Stubs) ersetzen kann. |
Grain(IGrainIdentity, IGrainRuntime) |
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 und IGrainRuntime durch Testdoppel (Mocks/Stubs) ersetzen kann. |
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. |
GrainReference |
Die abstrakte Basisklasse für alle Grain-Klassen. |
IdentityString |
Zeichenfolgendarstellung von Grains SiloIdentity, einschließlich Typ und Primärschlüssel. |
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. |
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. |
Methoden
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. |
DelayDeactivation(TimeSpan) |
Verzögert die Deaktivierung dieser Aktivierung mindestens für die angegebene Zeitdauer.
Ein positiver |
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. |
GetLogger(String) |
Gibt ein Protokollierungsobjekt zurück, das der Code dieses Grains für die Ablaufverfolgung verwenden kann. |
GetReminder(String) |
Gibt eine zuvor registrierte Erinnerung zurück. |
GetReminders() |
Gibt eine Liste aller Erinnerungen zurück, die vom Grain registriert wurden. |
GetStreamProvider(String) |
Die abstrakte Basisklasse für alle Grain-Klassen. |
GetStreamProviders() |
Die abstrakte Basisklasse für alle Grain-Klassen. |
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. |
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. |
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. |
OnDeactivateAsync() |
Diese Methode wird am Anfang des Prozesses der Deaktivierung eines Grains aufgerufen. |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
Diese Methode wird am Anfang des Prozesses der Deaktivierung eines Grains aufgerufen. |
Participate(IGrainLifecycle) |
Die abstrakte Basisklasse für alle Grain-Klassen. |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
Registriert eine dauerhafte, zuverlässige Erinnerung, um regelmäßige Benachrichtigungen (Erinnerungen) an das Grain zu senden.
Das Grain muss die |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
Registriert einen Timer, um regelmäßige Rückrufe an dieses Grain zu senden. |
UnregisterReminder(IGrainReminder) |
Hebt die Registrierung einer zuvor registrierten Erinnerung auf. |
Explizite Schnittstellenimplementierungen
IGrainBase.GrainContext |
Die abstrakte Basisklasse für alle Grain-Klassen. |
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 |
GetPrimaryKeyLong(IAddressable, String) |
Gibt die |
GetPrimaryKeyString(IAddressable) |
Gibt den |
IsPrimaryKeyBasedOnLong(IAddressable) |
Gibt zurück, ob ein Teil des Primärschlüssels vom Typ |
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 |
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 |
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 |
GetStreamProvider(IGrainBase, String) |
Ruft den Streamanbieter mit dem angegebenen |
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. |