다음을 통해 공유


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()

현재 grain 메서드 호출이 완료된 후 이 곡물 활성화를 비활성화합니다. 이 호출은 현재 메서드의 끝에서 비활성화되고 제거될 현재 곡물의 활성화를 표시합니다. 이 곡물에 대한 다음 호출은 다른 활성화를 사용하게 되며, 이는 일반적으로 런타임에 의해 새 활성화가 자동으로 생성됨을 의미합니다.

DelayDeactivation(TimeSpan)

적어도 지정된 기간 동안 이 활성화의 비활성화를 지연합니다. 양수 timeSpan 값은 "해당 시간 범위에 대해 이 활성화의 GC를 방지"를 의미합니다. 음수 timeSpan 값은 "DelayDeactivation 호출의 이전 설정을 취소하고 일반 정품 인증 가비지 수집 설정에 따라 이 활성화가 동작하도록 설정"을 의미합니다. DeactivateOnIdle 메서드는 현재 "활성 유지" 설정을 실행 취소/재정의하여 이 곡물을 즉시 비활성화에 사용할 수 있도록 합니다.

GetLogger()

이 곡물의 코드가 추적에 사용할 수 있는 로거 개체를 반환합니다. 로거의 이름은 그레인 클래스 이름에서 파생됩니다.

GetLogger(String)

이 곡물의 코드가 추적에 사용할 수 있는 로거 개체를 반환합니다.

GetReminder(String)

이전에 등록된 미리 알림을 반환합니다.

GetReminders()

그레인에 의해 등록된 모든 미리 알림 목록을 반환합니다.

GetStreamProvider(String)

모든 그레인 클래스에 대한 추상 기본 클래스입니다.

GetStreamProviders()

모든 그레인 클래스에 대한 추상 기본 클래스입니다.

MigrateOnIdle()

이 인스턴스를 다른 위치로 마이그레이션하려고 시도합니다. 마이그레이션은 현재 RequestContext캡처하여 새 위치를 선택할 때 고려할 수 있도록 활성화의 배치 디렉터에서 사용할 수 있도록 합니다. 마이그레이션은 실행 중인 요청이 없을 때 비동기적으로 발생하며 활성화의 배치 디렉터가 대체 위치를 선택하지 않으면 발생하지 않습니다.

OnActivateAsync()

이 메서드는 곡물을 활성화하는 프로세스가 끝날 때 호출됩니다. 메시지가 곡물로 디스패치되기 전에 호출됩니다. 영구적 상태가 선언된 곡물의 경우 상태 속성이 채워진 후 이 메서드가 호출됩니다.

OnActivateAsync(CancellationToken)

이 메서드는 곡물을 활성화하는 프로세스가 끝날 때 호출됩니다. 메시지가 곡물로 디스패치되기 전에 호출됩니다. 영구적 상태가 선언된 곡물의 경우 상태 속성이 채워진 후 이 메서드가 호출됩니다.

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)

현재 grain 메서드 호출이 완료된 후 이 곡물 활성화를 비활성화합니다. 이 호출은 현재 메서드의 끝에서 비활성화되고 제거될 현재 곡물의 활성화를 표시합니다. 이 곡물에 대한 다음 호출은 다른 활성화를 사용하게 되며, 이는 일반적으로 런타임에 의해 새 활성화가 자동으로 생성됨을 의미합니다.

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)

제공된 곡물에 해당하는 그레인 ID를 반환합니다.

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)

그레인 형식과 연결된 스토리지 공급자를 가져옵니다.

적용 대상