JournaledGrain<TGrainState> 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。
public abstract class JournaledGrain<TGrainState> : Orleans.EventSourcing.JournaledGrain<TGrainState,object> where TGrainState : class, new()
type JournaledGrain<'GrainState (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState))> = class
inherit JournaledGrain<'GrainState, obj (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState))>
Public MustInherit Class JournaledGrain(Of TGrainState)
Inherits JournaledGrain(Of TGrainState, Object)
類型參數
- TGrainState
粒紋狀態的類型,也就是事件記錄檔的匯總檢視。
- 繼承
- 繼承
- 繼承
建構函式
JournaledGrain<TGrainState>() |
初始化 JournaledGrain<TGrainState> 類別的新執行個體。 |
JournaledGrain<TGrainState>(IGrainIdentity, IGrainRuntime) |
此建構函式特別適用於單元測試,其中測試程序代碼可以建立 Grain,並將 IGrainIdentity、IGrainRuntime 和 State 取代為測試雙精度浮點數, (模擬/存根) 。 |
屬性
DefaultAdaptorFactory |
如果沒有指定記錄一致性提供者,請使用預設記憶體提供者儲存版本狀態 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
GrainFactory |
取得對象,這個物件可用來存取其他粒紋。 如果此粒紋未與運行時間相關聯,則為 Null,例如直接針對單元測試建立時。 (繼承來源 Grain) |
GrainReference |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 Grain) |
IdentityString |
粒紋的 SiloIdentity 字串表示,包括類型和主鍵。 (繼承來源 Grain) |
RuntimeIdentity |
目前尋址接收器的唯一標識碼。 此字串沒有語意內容,但對於記錄可能很有用。 (繼承來源 Grain) |
ServiceProvider |
取得運行時間管理的 IServiceProvider。 如果此粒紋未與運行時間相關聯,則為 Null,例如直接針對單元測試建立時。 (繼承來源 Grain) |
State |
取得目前的確認狀態。 只包含已確認的事件。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
TentativeState |
取得目前的暫訂狀態。 同時包含已確認和未確認的事件。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
UnconfirmedEvents |
傳回未確認事件的目前佇列。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
UnresolvedConnectionIssues |
取得所有目前未解決的連線問題清單。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
Version |
取得目前已確認狀態的版本。 等於已確認事件的總數。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
方法
ConfirmEvents() |
等到所有先前引發的事件都已確認為止。 在引發一或多個事件之後等候此事件,以確保事件在繼續之前保存,或保證強式一致性 (線性化) ,即使此粒紋有多個實例也一樣 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
DeactivateOnIdle() |
在目前的 Grain 方法呼叫完成之後,停用此粒紋的啟用。 此呼叫會將目前粒紋的啟用標示為停用,並在目前方法的結尾移除。 下一次呼叫此粒紋會導致使用不同的啟用,這通常表示運行時間會自動建立新的啟用。 (繼承來源 Grain) |
DelayDeactivation(TimeSpan) |
在指定的期間內,至少延遲停用此啟用。
正 |
DisableStatsCollection() |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
EnableStatsCollection() |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
GetLogger() |
傳回記錄器物件,此粒紋的程式代碼可用於追蹤。 記錄器的名稱會衍生自粒紋類別名稱。 (繼承來源 Grain) |
GetLogger(String) |
傳回記錄器物件,此粒紋的程式代碼可用於追蹤。 (繼承來源 Grain) |
GetReminder(String) |
傳回先前註冊的提醒。 (繼承來源 Grain) |
GetReminders() |
傳回由粒紋註冊的所有提醒清單。 (繼承來源 Grain) |
GetStats() |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
GetStreamProvider(String) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 Grain) |
GetStreamProviders() |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 Grain) |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
在建構粒紋之後立即呼叫,以安裝配接器。 記錄一致性提供者包含處理站方法,可針對此粒紋建構具有所選類型的配接器 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
在建構粒紋之後立即呼叫,以安裝配接器。 記錄一致性提供者包含處理站方法,可針對此粒紋建構具有所選類型的配接器 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
MigrateOnIdle() |
開始嘗試將此實例移轉至另一個位置。 移轉會擷取目前的 RequestContext,使其可供啟用的放置主管使用,以便在選取新位置時加以考慮。 當沒有任何要求正在執行時,移轉將會以異步方式發生,而且如果啟用的放置 Director 未選取替代位置,則不會發生。 (繼承來源 Grain) |
OnActivateAsync() |
根據預設,在啟用時,日誌的粒紋會等到它從記憶體載入最新的檢視為止。 子類別可以覆寫此行為,並視需要略過等候。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
OnActivateAsync(CancellationToken) |
根據預設,在啟用時,日誌的粒紋會等到它從記憶體載入最新的檢視為止。 子類別可以覆寫此行為,並視需要略過等候。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
OnConnectionIssue(ConnectionIssue) |
當基礎持續性或復寫通訊協定遇到某種連線問題時呼叫。 覆寫此選項以監視記錄一致性通訊協定和/或自定義重試延遲的健康情況。 擲回的任何例外狀況都會由 ILogViewAdaptorFactory攔截並記錄。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
OnConnectionIssue(ConnectionIssue) |
當基礎持續性或復寫通訊協定遇到某種連線問題時呼叫。 覆寫此選項以監視記錄一致性通訊協定和/或自定義重試延遲的健康情況。 擲回的任何例外狀況都會由 ILogConsistencyProvider攔截並記錄。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
OnConnectionIssueResolved(ConnectionIssue) |
解決先前回報的連線問題時呼叫。 覆寫此選項以監視記錄一致性通訊協定的健康情況。 擲回的任何例外狀況都會由 ILogConsistencyProvider攔截並記錄。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
OnConnectionIssueResolved(ConnectionIssue) |
解決先前回報的連線問題時呼叫。 覆寫此選項以監視記錄一致性通訊協定的健康情況。 擲回的任何例外狀況都會由 ILogViewAdaptorFactory攔截並記錄。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
OnDeactivateAsync() |
這個方法會在停用粒紋的程序開頭呼叫。 (繼承來源 Grain) |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
這個方法會在停用粒紋的程序開頭呼叫。 (繼承來源 Grain) |
OnStateChanged() |
在確認狀態可能已變更 (之後呼叫,也就是確認的版本號碼) 較大。 覆寫此選項以回應已確認狀態的變更。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
OnTentativeStateChanged() |
每當暫訂狀態因本機或遠端事件而變更時呼叫。 覆寫此選項以回應狀態的變更。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
Participate(IGrainLifecycle) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 Grain) |
Participate(IGrainLifecycle) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 LogConsistentGrain<TView>) |
Participate(IGrainLifecycle) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 (繼承來源 LogConsistentGrain<TView>) |
RaiseConditionalEvent<TEvent>(TEvent) |
有條件地引發事件。 只有在沒有任何衝突時才會成功,也就是說,同時不會引發其他事件。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
RaiseConditionalEvents<TEvent>(IEnumerable<TEvent>) |
有條件地引發多個事件作為不可部分完成的序列。 只有在沒有任何衝突時才會成功,也就是說,同時不會引發其他事件。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
RaiseEvent<TEvent>(TEvent) |
引發事件。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
RaiseEvents<TEvent>(IEnumerable<TEvent>) |
以不可部分完成的順序引發多個事件。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
RefreshNow() |
立即擷取最新的狀態,並確認所有先前引發的事件。 實際上,這會強制執行與全域狀態的同步處理。 在讀取狀態之前等候此狀態,以確保強式一致性 (線性化) ,即使此粒紋有多個實例也一樣 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
註冊持續性可靠提醒,以將定期通知傳送 (提醒) 到粒紋。
粒紋必須實作 |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
註冊定時器以將定期回呼傳送至此粒紋。 (繼承來源 Grain) |
RetrieveConfirmedEvents(Int32, Int32) |
從記憶體擷取已確認事件序列的區段。 NotSupportedException如果事件無法讀取,則會擲回 。 事件是否可用,以及事件的時間長度取決於使用的提供者及其設定方式。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
TransitionState(TGrainState, TEventBase) |
定義如何將事件套用至狀態。 除非在子類別中覆寫,否則它會在狀態上呼叫動態 「Apply」 函式,並將 事件當做參數。 此方法擲回的所有例外狀況都會由記錄檢視提供者攔截並記錄。 覆寫此選項以自定義如何轉換指定事件的狀態。 (繼承來源 JournaledGrain<TGrainState,TEventBase>) |
UnregisterReminder(IGrainReminder) |
取消註冊先前註冊的提醒。 (繼承來源 Grain) |
明確介面實作
擴充方法
DeactivateOnIdle(IGrainBase) |
完成目前的 Grain 方法呼叫之後,請停用此粒紋啟用。 此呼叫會將目前粒紋的啟用標示為停用,並在目前方法的結尾移除。 下一次呼叫此粒紋會導致使用不同的啟用,這通常表示運行時間會自動建立新的啟用。 |
MigrateOnIdle(IGrainBase) |
開始嘗試將此實例移轉至另一個位置。 移轉會擷取目前的 RequestContext,使其可供啟用的放置主管使用,以便在選取新位置時加以考慮。 當沒有任何要求正在執行時,移轉將會以異步方式發生,而且如果啟用的放置 Director 未選取替代位置,則不會發生。 |
AsReference(IAddressable, Type) |
傳回所提供之粒紋的具型別參考。 |
AsReference<TGrainInterface>(IAddressable) |
傳回所提供之粒紋的具型別參考。 |
BindGrainReference(IAddressable, IGrainFactory) |
將粒紋參考系結至提供的 IGrainFactory。 |
Cast(IAddressable, Type) |
傳回所提供之粒紋的具型別參考。 |
Cast<TGrainInterface>(IAddressable) |
傳回所提供之粒紋的具型別參考。 |
GetGrainId(IAddressable) |
傳回對應至所提供粒紋的粒紋標識碼。 |
GetGrainIdentity(IGrain) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 |
GetPrimaryKey(IGrain) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 |
GetPrimaryKey(IGrain, String) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 |
GetPrimaryKey(IAddressable) |
傳 Guid 回粒紋主鍵的表示。 |
GetPrimaryKey(IAddressable, String) |
傳 Guid 回粒紋主鍵的表示。 |
GetPrimaryKeyLong(IGrain) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 |
GetPrimaryKeyLong(IGrain, String) |
使用標準事件來源術語進行記錄一致粒紋的基類。 所有作業都是重新進入安全。 |
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) |
取得與粒紋類型相關聯的儲存提供者。 |