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>) |
GrainContext |
使用標準事件來源術語記錄一致粒紋的基類。 所有作業都重新進入安全。 (繼承來源 Grain) |
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) |
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,使其可供啟用的放置總監使用,以便在選取新位置時加以考慮。 當沒有任何要求正在執行時,移轉將會以異步方式發生,而且如果啟用的放置控制器未選取替代位置,則不會發生。 (繼承來源 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) |