Grain<TGrainState> 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
具有已宣告永續性狀態之 Grain 的基類。
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
類型參數
- TGrainState
永續性狀態對象的類別
- 繼承
建構函式
Grain<TGrainState>() |
初始化 Grain<TGrainState> 類別的新執行個體。 |
Grain<TGrainState>(IGrainIdentity, IGrainRuntime, IStorage<TGrainState>) |
粒度實作者不需要公開此建構函式,但可以選擇這麼做。 此建構函式特別適用於單元測試,其中測試程序代碼可以建立 Grain,並以測試雙精度 (模擬/stubs) 取代 IGrainIdentity、IGrainRuntime 和 State。 |
Grain<TGrainState>(IGrainIdentity, IGrainRuntime, TGrainState, IStorage) |
粒度實作者不需要公開此建構函式,但可以選擇這麼做。 此建構函式特別適用於單元測試,其中測試程序代碼可以建立 Grain,並以測試雙精度 (模擬/stubs) 取代 IGrainIdentity、IGrainRuntime 和 State。 |
Grain<TGrainState>(IStorage<TGrainState>) |
初始化 Grain<TGrainState> 類別的新執行個體。 |
屬性
GrainFactory |
取得對象,這個物件可用來存取其他粒度。 如果此粒度與運行時間沒有關聯,則為 Null,例如直接針對單元測試建立時。 (繼承來源 Grain) |
GrainReference |
具有已宣告永續性狀態之 Grain 的基類。 (繼承來源 Grain) |
IdentityString |
粒度的 SiloIdentity 字串表示,包括類型和主鍵。 (繼承來源 Grain) |
RuntimeIdentity |
目前接收器的唯一標識碼。 此字串沒有語意內容,但對記錄可能很有用。 (繼承來源 Grain) |
ServiceProvider |
取得由運行時間管理的 IServiceProvider。 如果此粒度與運行時間沒有關聯,則為 Null,例如直接針對單元測試建立時。 (繼承來源 Grain) |
State |
取得或設定粒度狀態。 |
方法
ClearStateAsync() |
從備份存放區清除目前的粒度狀態數據。 |
DeactivateOnIdle() |
完成目前的粒度方法呼叫之後,停用此粒度啟用。 此呼叫會將目前粒度的啟用標示為停用,並在目前方法的結尾移除。 下一次呼叫此粒度會導致使用不同的啟用,這通常表示運行時間會自動建立新的啟用。 (繼承來源 Grain) |
DelayDeactivation(TimeSpan) |
延遲停用此啟用至少在指定的期間內。
正 |
GetLogger() |
傳回這個粒度程式代碼可用於追蹤的記錄器物件。 記錄器的名稱會衍生自粒度類別名稱。 (繼承來源 Grain) |
GetLogger(String) |
傳回這個粒度程式代碼可用於追蹤的記錄器物件。 (繼承來源 Grain) |
GetReminder(String) |
傳回先前註冊的提醒。 (繼承來源 Grain) |
GetReminders() |
傳回由粒紋註冊的所有提醒清單。 (繼承來源 Grain) |
GetStreamProvider(String) |
具有已宣告永續性狀態之 Grain 的基類。 (繼承來源 Grain) |
GetStreamProviders() |
具有已宣告永續性狀態之 Grain 的基類。 (繼承來源 Grain) |
MigrateOnIdle() |
開始嘗試將此實例移轉至另一個位置。 移轉會擷取目前的 RequestContext,使其可供啟用的放置主管使用,以便在選取新位置時加以考慮。 當沒有任何要求正在執行時,移轉將會以異步方式發生,而且如果啟用的放置 Director 未選取替代位置,則不會發生。 (繼承來源 Grain) |
OnActivateAsync() |
這個方法會在啟動粒度的程序結束時呼叫。 它會在將任何訊息分派至粒度之前呼叫。 針對宣告永續性狀態的粒度,在填入 State 屬性之後會呼叫這個方法。 (繼承來源 Grain) |
OnActivateAsync(CancellationToken) |
這個方法會在啟動粒度的程序結束時呼叫。 它會在將任何訊息分派至粒度之前呼叫。 針對宣告永續性狀態的粒度,在填入 State 屬性之後會呼叫這個方法。 (繼承來源 Grain) |
OnDeactivateAsync() |
這個方法會在停用粒度的程序開頭呼叫。 (繼承來源 Grain) |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
這個方法會在停用粒度的程序開頭呼叫。 (繼承來源 Grain) |
Participate(IGrainLifecycle) |
具有已宣告永續性狀態之 Grain 的基類。 |
Participate(IGrainLifecycle) |
具有已宣告永續性狀態之 Grain 的基類。 (繼承來源 Grain) |
ReadStateAsync() |
從備份存放區讀取粒度狀態,並 State更新 。 |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
註冊持續性可靠提醒,以將一般通知傳送 (提醒) 到粒紋。
粒度必須實作 |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
註冊定時器,以將定期回呼傳送至此粒度。 (繼承來源 Grain) |
UnregisterReminder(IGrainReminder) |
取消註冊先前註冊的提醒。 (繼承來源 Grain) |
WriteStateAsync() |
將目前的粒度狀態數據寫入備份儲存區。 |
明確介面實作
IGrainBase.GrainContext |
具有已宣告永續性狀態之 Grain 的基類。 (繼承來源 Grain) |
擴充方法
DeactivateOnIdle(IGrainBase) |
完成目前的粒度方法呼叫之後,請停用此粒度啟用。 此呼叫會將目前粒度的啟用標示為停用,並在目前方法的結尾移除。 下一次呼叫此粒度會導致使用不同的啟用,這通常表示運行時間會自動建立新的啟用。 |
MigrateOnIdle(IGrainBase) |
開始嘗試將此實例移轉至另一個位置。 移轉會擷取目前的 RequestContext,使其可供啟用的放置主管使用,以便在選取新位置時加以考慮。 當沒有任何要求正在執行時,移轉將會以異步方式發生,而且如果啟用的放置 Director 未選取替代位置,則不會發生。 |
AsReference(IAddressable, Type) |
傳回所提供粒度的具型別參考。 |
AsReference<TGrainInterface>(IAddressable) |
傳回所提供粒度的具型別參考。 |
BindGrainReference(IAddressable, IGrainFactory) |
將粒度參考系結至提供的 IGrainFactory。 |
Cast(IAddressable, Type) |
傳回所提供粒度的具型別參考。 |
Cast<TGrainInterface>(IAddressable) |
傳回所提供粒度的具型別參考。 |
GetGrainId(IAddressable) |
傳回對應至所提供粒紋的粒度標識碼。 |
GetPrimaryKey(IAddressable) |
傳 Guid 回粒度主鍵的表示法。 |
GetPrimaryKey(IAddressable, String) |
傳 Guid 回粒度主鍵的表示法。 |
GetPrimaryKeyLong(IAddressable) |
傳 |
GetPrimaryKeyLong(IAddressable, String) |
傳 |
GetPrimaryKeyString(IAddressable) |
傳 |
IsPrimaryKeyBasedOnLong(IAddressable) |
傳回主鍵的一部分是否為類型 |
GetReminder(Grain, String) |
傳回先前註冊的提醒。 |
GetReminder(IGrainBase, String) |
傳回先前註冊的提醒。 |
GetReminders(Grain) |
傳回由粒紋註冊的所有提醒清單。 |
GetReminders(IGrainBase) |
傳回由粒紋註冊的所有提醒清單。 |
RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan) |
註冊持續性可靠提醒,以將一般通知傳送 (提醒) 到粒紋。
粒度必須實作 |
RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan) |
註冊持續性可靠提醒,以將一般通知傳送 (提醒) 到粒紋。
粒度必須實作 |
UnregisterReminder(Grain, IGrainReminder) |
取消註冊先前註冊的提醒。 |
UnregisterReminder(IGrainBase, IGrainReminder) |
取消註冊先前註冊的提醒。 |
GetStreamProvider(Grain, String) |
取得具有指定 |
GetStreamProvider(IGrainBase, String) |
取得具有指定 |
GetLogger(Grain) |
傳回這個粒度程式代碼可用於追蹤的記錄器物件。 記錄器的名稱會衍生自粒度類別名稱。 |
GetLogger(Grain, String) |
傳回這個粒度程式代碼可用於追蹤的記錄器物件。 |
GetGrainStorage(Grain, IServiceProvider) |
取得與粒度類型相關聯的儲存提供者。 |