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 Kornklassen.
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 nie aufgerufen werden. Wir machen sie verfügbar, damit Clientcode (Unterklassen von Grain) keinen Konstruktor hinzufügen müssen. Clientcode sollte die GrainFactory-Eigenschaft verwenden, um einen Verweis auf ein Grain abzurufen. |
Grain(IGrainContext, IGrainRuntime) |
Getreideimplementierer müssen diesen Konstruktor nicht verfügbar machen, können dies jedoch tun. Dieser Konstruktor ist besonders nützlich für Komponententests, bei denen Testcode einen Grain erstellen und die IGrainIdentity und IGrainRuntime durch Testdoppeln (Mocks/Stubs) ersetzen kann. |
Grain(IGrainIdentity, IGrainRuntime) |
Getreideimplementierer müssen diesen Konstruktor nicht verfügbar machen, können dies jedoch tun. Dieser Konstruktor ist besonders nützlich für Komponententests, bei denen Testcode einen Grain erstellen und die IGrainIdentity und IGrainRuntime durch Testdoppeln (Mocks/Stubs) ersetzen kann. |
Eigenschaften
GrainContext |
Die abstrakte Basisklasse für alle Kornklassen. |
GrainFactory |
Ruft ein Objekt ab, das für den Zugriff auf andere Getreide verwendet werden kann. Null, wenn dieser Korn nicht einer Runtime zugeordnet ist, z. B. wenn sie direkt für Komponententests erstellt wird. |
GrainReference |
Die abstrakte Basisklasse für alle Kornklassen. |
IdentityString |
Zeichenfolgendarstellung der SiloIdentity des Korns, einschließlich Typ und Primärschlüssel. |
RuntimeIdentity |
Ein eindeutiger Bezeichner für den aktuellen Silo. Für diese Zeichenfolge gibt es keinen semantischen Inhalt, kann aber für die Protokollierung hilfreich sein. |
ServiceProvider |
Ruft den von der Laufzeit verwalteten IServiceProvider ab. Null, wenn dieser Korn nicht einer Runtime zugeordnet ist, z. B. wenn sie direkt für Komponententests erstellt wird. |
Methoden
DeactivateOnIdle() |
Deaktivieren Sie diese Aktivierung des Korns, nachdem der aktuelle Kornmethodenaufruf abgeschlossen wurde. Dieser Aufruf markiert diese Aktivierung des aktuellen Korns, das deaktiviert und am Ende der aktuellen Methode entfernt wird. Der nächste Aufruf dieses Korns führt dazu, dass eine andere Aktivierung verwendet wird, was typischerweise bedeutet, dass eine neue Aktivierung automatisch von der Laufzeit erstellt wird. |
DelayDeactivation(TimeSpan) |
Verzögern der Deaktivierung dieser Aktivierung mindestens für die angegebene Zeitdauer.
Ein positiver |
GetLogger() |
Gibt ein Loggerobjekt zurück, das der Code dieses Korns für die Ablaufverfolgung verwenden kann. Der Name des Loggers wird vom Kornklassennamen abgeleitet. |
GetLogger(String) |
Gibt ein Loggerobjekt zurück, das der Code dieses Korns 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 Korn registriert wurden. |
GetStreamProvider(String) |
Die abstrakte Basisklasse für alle Kornklassen. |
GetStreamProviders() |
Die abstrakte Basisklasse für alle Kornklassen. |
MigrateOnIdle() |
Startet einen Versuch, diese Instanz an einen anderen Speicherort zu migrieren. Die Migration erfasst die aktuelle RequestContext, sodass sie dem Platzierungsdirektor der Aktivierung zur Verfügung gestellt wird, damit sie beim Auswählen eines neuen Speicherorts berücksichtigt werden kann. Die Migration erfolgt asynchron, wenn keine Anforderungen ausgeführt werden, und tritt nicht auf, wenn der Platzierungsdirektor der Aktivierung keinen alternativen Speicherort auswählt. |
OnActivateAsync() |
Diese Methode wird am Ende des Prozesses der Aktivierung eines Getreides aufgerufen. Es wird aufgerufen, bevor alle Nachrichten an das Korn verteilt wurden. Bei Körnern mit deklariertem persistentem Zustand wird diese Methode aufgerufen, nachdem die State-Eigenschaft aufgefüllt wurde. |
OnActivateAsync(CancellationToken) |
Diese Methode wird am Ende des Prozesses der Aktivierung eines Getreides aufgerufen. Es wird aufgerufen, bevor alle Nachrichten an das Korn verteilt wurden. Bei Körnern 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 Getreides aufgerufen. |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
Diese Methode wird am Anfang des Prozesses der Deaktivierung eines Getreides aufgerufen. |
Participate(IGrainLifecycle) |
Die abstrakte Basisklasse für alle Kornklassen. |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
Registriert eine dauerhafte, zuverlässige Erinnerung, um regelmäßige Benachrichtigungen (Erinnerungen) an das Korn zu senden.
Das Korn muss die |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
Veraltet.
Registriert einen Timer, um regelmäßige Rückrufe an dieses Korn zu senden. |
UnregisterReminder(IGrainReminder) |
Hebt die Registrierung einer zuvor registrierten Erinnerung auf. |
Explizite Schnittstellenimplementierungen
IGrainBase.GrainContext |
Die abstrakte Basisklasse für alle Kornklassen. |
Erweiterungsmethoden
DeactivateOnIdle(IGrainBase) |
Deaktivieren Sie diese Kornaktivierung nach Abschluss des aktuellen Kornmethodenaufrufs. Dieser Aufruf markiert diese Aktivierung des aktuellen Korns, das deaktiviert und am Ende der aktuellen Methode entfernt wird. Der nächste Aufruf dieses Korns führt dazu, dass eine andere Aktivierung verwendet wird, was typischerweise bedeutet, dass eine neue Aktivierung automatisch von der Laufzeit erstellt wird. |
MigrateOnIdle(IGrainBase) |
Startet einen Versuch, diese Instanz an einen anderen Speicherort zu migrieren. Die Migration erfasst die aktuelle RequestContext, sodass sie dem Platzierungsdirektor der Aktivierung zur Verfügung gestellt wird, damit sie beim Auswählen eines neuen Speicherorts berücksichtigt werden kann. Die Migration erfolgt asynchron, wenn keine Anforderungen ausgeführt werden, und tritt nicht auf, wenn der Platzierungsdirektor der Aktivierung keinen alternativen Speicherort auswählt. |
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions) |
Erstellt einen Korntimer. |
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan) |
Erstellt einen Korntimer. |
RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions) |
Die abstrakte Basisklasse für alle Kornklassen. |
RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan) |
Erstellt einen Korntimer. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions) |
Erstellt einen Korntimer. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan) |
Erstellt einen Korntimer. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions) |
Die abstrakte Basisklasse für alle Kornklassen. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan) |
Erstellt einen Korntimer. |
AsReference(IAddressable, Type) |
Gibt einen typierten Verweis auf das angegebene Korn zurück. |
AsReference<TGrainInterface>(IAddressable) |
Gibt einen typierten Verweis auf das angegebene Korn zurück. |
BindGrainReference(IAddressable, IGrainFactory) |
Bindet den Kornverweis an die bereitgestellte IGrainFactory. |
Cast(IAddressable, Type) |
Gibt einen typierten Verweis auf das angegebene Korn zurück. |
Cast<TGrainInterface>(IAddressable) |
Gibt einen typierten Verweis auf das angegebene Korn zurück. |
GetGrainId(IAddressable) |
Gibt die Korn-ID zurück, die dem bereitgestellten Getreide entspricht. |
GetPrimaryKey(IAddressable) |
Gibt die Guid Darstellung eines Getreide-Primärschlüssels zurück. |
GetPrimaryKey(IAddressable, String) |
Gibt die Guid Darstellung eines Getreide-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 Korn registriert wurden. |
GetReminders(IGrainBase) |
Gibt eine Liste aller Erinnerungen zurück, die vom Korn registriert wurden. |
RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan) |
Registriert eine dauerhafte, zuverlässige Erinnerung, um regelmäßige Benachrichtigungen (Erinnerungen) an das Korn zu senden.
Das Korn muss die |
RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan) |
Registriert eine dauerhafte, zuverlässige Erinnerung, um regelmäßige Benachrichtigungen (Erinnerungen) an das Korn zu senden.
Das Korn 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 Datenstromanbieter mit dem angegebenen |
GetStreamProvider(IGrainBase, String) |
Ruft den Datenstromanbieter mit dem angegebenen |
GetLogger(Grain) |
Gibt ein Loggerobjekt zurück, das der Code dieses Korns für die Ablaufverfolgung verwenden kann. Der Name des Loggers wird vom Kornklassennamen abgeleitet. |
GetLogger(Grain, String) |
Gibt ein Loggerobjekt zurück, das der Code dieses Korns für die Ablaufverfolgung verwenden kann. |
GetGrainStorage(Grain, IServiceProvider) |
Erwerben Sie den Speicheranbieter, der dem Korntyp zugeordnet ist. |