共用方式為


JournaledGrain<TGrainState> 類別

定義

使用標準事件來源術語記錄一致粒紋的基類。 所有作業都重新進入安全。

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,Object>
JournaledGrain<TGrainState>
繼承
LogConsistentGrain<TGrainState>
JournaledGrain<TGrainState,Object>
JournaledGrain<TGrainState>
繼承
LogConsistentGrain<TGrainState>
JournaledGrain<TGrainState,Object>
JournaledGrain<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)

在指定的期間內,至少延遲停用此啟用。 正 timeSpan 值表示「防止該時間範圍的此啟用 GC」。 負 timeSpan 值表示「取消上一個 DelayDeactivation 呼叫的設定,並根據一般啟用垃圾收集設定進行這項啟用」。 DeactivateOnIdle 方法會復原/覆寫任何目前的「保持運作」設定,讓此粒紋立即可供停用。

(繼承來源 Grain)
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)

註冊持續性且可靠的提醒,以將一般通知(提醒)傳送至粒紋。 粒紋必須實作 Orleans.IRemindable 介面,並將此粒紋的提醒傳送至 ReceiveReminder 回呼方法。 如果定時器引發時停用目前的粒紋,將會建立此粒紋的新啟用,以接收此提醒。 如果已有具有相同名稱的現有提醒存在,將會用這個新的提醒覆寫該提醒。 此粒紋的一個啟用一律會收到提醒,即使此粒紋有多個啟用也一樣。

(繼承來源 Grain)
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)

明確介面實作

IConnectionIssueListener.OnConnectionIssue(ConnectionIssue)

由配接器在連線問題上呼叫。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
IConnectionIssueListener.OnConnectionIssue(ConnectionIssue)

由配接器在連線問題上呼叫。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
IConnectionIssueListener.OnConnectionIssueResolved(ConnectionIssue)

解決連線問題時,由配接器呼叫。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
IConnectionIssueListener.OnConnectionIssueResolved(ConnectionIssue)

解決連線問題時,由配接器呼叫。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
IGrainBase.GrainContext

使用標準事件來源術語記錄一致粒紋的基類。 所有作業都重新進入安全。

(繼承來源 Grain)
ILogConsistencyProtocolParticipant.DeactivateProtocolParticipant()

通知記錄檢視調整器停用

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistencyProtocolParticipant.DeactivateProtocolParticipant()

通知記錄檢視調整器停用

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistencyProtocolParticipant.OnMultiClusterConfigurationChange(MultiClusterConfiguration)

接收組態變更,傳遞至記錄檢視配接器。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistencyProtocolParticipant.OnProtocolMessageReceived(ILogConsistencyProtocolMessage)

接收來自其他叢集的通訊協定訊息,傳遞至記錄檢視配接器。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistencyProtocolParticipant.PostActivateProtocolParticipant()

通知記錄檢視啟用調整器(在使用者層級 OnActivate 之後呼叫)

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistencyProtocolParticipant.PostActivateProtocolParticipant()

通知記錄檢視啟用調整器(在使用者層級 OnActivate 之後呼叫)

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistencyProtocolParticipant.PreActivateProtocolParticipant()

通知記錄檢視啟用調整器(在使用者層級 OnActivate 之前呼叫)

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistencyProtocolParticipant.PreActivateProtocolParticipant()

通知記錄檢視啟用調整器(在使用者層級 OnActivate 之前呼叫)

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistentGrain.DefaultAdaptorFactory

如果沒有指定的記錄一致性提供者,請使用預設記憶體提供者來儲存版本設定的狀態

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogConsistentGrain.InstallAdaptor(ILogViewAdaptorFactory, Object, String, IStorageProvider, ILogConsistencyProtocolServices)

在建構粒紋后立即呼叫,以安裝配接器。 記錄一致性提供者包含處理站方法,可針對此粒紋建構具有所選類型的配接器

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogViewAdaptorHost<TGrainState,TEventBase>.OnViewChanged(Boolean, Boolean)

由調整器在狀態變更時呼叫。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogViewAdaptorHost<TGrainState,TEventBase>.OnViewChanged(Boolean, Boolean)

由調整器在狀態變更時呼叫。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogViewAdaptorHost<TGrainState,TEventBase>.UpdateView(TGrainState, TEventBase)

由配接器呼叫,以在附加專案時更新檢視。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)
ILogViewAdaptorHost<TGrainState,TEventBase>.UpdateView(TGrainState, TEventBase)

由配接器呼叫,以在附加專案時更新檢視。

(繼承來源 JournaledGrain<TGrainState,TEventBase>)

擴充方法

DeactivateOnIdle(IGrainBase)

完成目前的粒紋方法呼叫之後,停用此粒紋啟用。 此呼叫會將目前粒紋的啟用標示為在目前方法結尾停用和移除。 下一個對這個粒紋的呼叫會導致使用不同的啟用,這通常表示運行時間會自動建立新的啟用。

MigrateOnIdle(IGrainBase)

開始嘗試將此實例移轉至另一個位置。 移轉會擷取目前的 RequestContext,使其可供啟用的放置總監使用,以便在選取新位置時加以考慮。 當沒有任何要求正在執行時,移轉將會以異步方式發生,而且如果啟用的放置控制器未選取替代位置,則不會發生。

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions)

建立粒紋定時器。

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan)

建立粒紋定時器。

RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)

使用標準事件來源術語記錄一致粒紋的基類。 所有作業都重新進入安全。

RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan)

建立粒紋定時器。

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions)

建立粒紋定時器。

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan)

建立粒紋定時器。

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions)

使用標準事件來源術語記錄一致粒紋的基類。 所有作業都重新進入安全。

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan)

建立粒紋定時器。

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)

傳回粒紋主鍵的 long 表示。

GetPrimaryKeyLong(IAddressable, String)

傳回粒紋主鍵的 long 表示。

GetPrimaryKeyString(IAddressable)

傳回粒紋的主鍵 string

IsPrimaryKeyBasedOnLong(IAddressable)

傳回主鍵的一部分是否屬於 類型 long

GetReminder(Grain, String)

傳回先前註冊的提醒。

GetReminder(IGrainBase, String)

傳回先前註冊的提醒。

GetReminders(Grain)

傳回由粒紋註冊的所有提醒清單。

GetReminders(IGrainBase)

傳回由粒紋註冊的所有提醒清單。

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

註冊持續性且可靠的提醒,以將一般通知(提醒)傳送至粒紋。 粒紋必須實作 Orleans.IRemindable 介面,並將此粒紋的提醒傳送至 ReceiveReminder 回呼方法。 如果定時器引發時停用目前的粒紋,將會建立此粒紋的新啟用,以接收此提醒。 如果已有具有相同名稱的現有提醒存在,將會用這個新的提醒覆寫該提醒。 此粒紋的一個啟用一律會收到提醒,即使此粒紋有多個啟用也一樣。

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

註冊持續性且可靠的提醒,以將一般通知(提醒)傳送至粒紋。 粒紋必須實作 Orleans.IRemindable 介面,並將此粒紋的提醒傳送至 ReceiveReminder 回呼方法。 如果定時器引發時停用目前的粒紋,將會建立此粒紋的新啟用,以接收此提醒。 如果已有具有相同名稱的現有提醒存在,將會用這個新的提醒覆寫該提醒。 此粒紋的一個啟用一律會收到提醒,即使此粒紋有多個啟用也一樣。

UnregisterReminder(Grain, IGrainReminder)

取消註冊先前註冊的提醒。

UnregisterReminder(IGrainBase, IGrainReminder)

取消註冊先前註冊的提醒。

GetStreamProvider(Grain, String)

取得具有指定 name的數據流提供者。

GetStreamProvider(IGrainBase, String)

取得具有指定 name的數據流提供者。

GetLogger(Grain)

傳回記錄器物件,此粒紋的程式代碼可用於追蹤。 記錄器的名稱會衍生自粒紋類別名稱。

GetLogger(Grain, String)

傳回記錄器物件,此粒紋的程式代碼可用於追蹤。

GetGrainStorage(Grain, IServiceProvider)

取得與粒紋類型相關聯的儲存提供者。

適用於