共用方式為


Grain 類別

定義

所有粒紋類別的抽象基類。

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
繼承
Grain
衍生
實作

建構函式

Grain()

不應該叫用這個建構函式。 我們會公開它,讓用戶端程序代碼 (Grain 的子類別) 不需要新增建構函式。 用戶端程式代碼應該使用 GrainFactory 屬性來取得 Grain 的參考。

Grain(IGrainContext, IGrainRuntime)

粒紋實作者不需要公開此建構函式,但可以選擇這樣做。 此建構函式特別適用於單元測試,其中測試程式代碼可以建立 Grain,並將 IGrainIdentity 和 IGrainRuntime 取代為測試雙精度浮點數(模擬/存根)。

Grain(IGrainIdentity, IGrainRuntime)

粒紋實作者不需要公開此建構函式,但可以選擇這樣做。 此建構函式特別適用於單元測試,其中測試程式代碼可以建立 Grain,並將 IGrainIdentity 和 IGrainRuntime 取代為測試雙精度浮點數(模擬/存根)。

屬性

GrainContext

所有粒紋類別的抽象基類。

GrainFactory

取得對象,這個物件可用來存取其他粒紋。 如果這個粒紋與運行時間沒有關聯,則為 Null,例如直接針對單元測試建立時。

GrainReference

所有粒紋類別的抽象基類。

IdentityString

粒紋的 SiloIdentity 的字串表示法,包括類型和主鍵。

RuntimeIdentity

目前尋址接收器的唯一標識碼。 此字串沒有語意內容,但對於記錄可能很有用。

ServiceProvider

取得運行時間所管理的 IServiceProvider。 如果這個粒紋與運行時間沒有關聯,則為 Null,例如直接針對單元測試建立時。

方法

DeactivateOnIdle()

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

DelayDeactivation(TimeSpan)

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

GetLogger()

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

GetLogger(String)

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

GetReminder(String)

傳回先前註冊的提醒。

GetReminders()

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

GetStreamProvider(String)

所有粒紋類別的抽象基類。

GetStreamProviders()

所有粒紋類別的抽象基類。

MigrateOnIdle()

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

OnActivateAsync()

這個方法會在啟動粒紋的程序結束時呼叫。 在將任何訊息分派至粒紋之前,就會呼叫它。 對於宣告永續性狀態的粒紋,這個方法會在填入 State 屬性之後呼叫。

OnActivateAsync(CancellationToken)

這個方法會在啟動粒紋的程序結束時呼叫。 在將任何訊息分派至粒紋之前,就會呼叫它。 對於宣告永續性狀態的粒紋,這個方法會在填入 State 屬性之後呼叫。

OnDeactivateAsync()

這個方法會在停用粒紋程序的開頭呼叫。

OnDeactivateAsync(DeactivationReason, CancellationToken)

這個方法會在停用粒紋程序的開頭呼叫。

Participate(IGrainLifecycle)

所有粒紋類別的抽象基類。

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

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

RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)
已淘汰.

註冊定時器,以將定期回呼傳送至此粒紋。

UnregisterReminder(IGrainReminder)

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

明確介面實作

IGrainBase.GrainContext

所有粒紋類別的抽象基類。

擴充方法

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)

傳回對應至所提供粒紋的粒紋標識碼。

GetPrimaryKey(IAddressable)

傳回粒紋主鍵的 Guid 表示。

GetPrimaryKey(IAddressable, String)

傳回粒紋主鍵的 Guid 表示。

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)

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

適用於