JournaledGrain<TGrainState,TEventBase> 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다.
public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.LogConsistency.LogConsistentGrainBase<TGrainState>, Orleans.LogConsistency.ILogConsistentGrain, Orleans.LogConsistency.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.MultiCluster.ILogConsistencyProtocolParticipant where TGrainState : class, new() where TEventBase : class
public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.LogConsistency.LogConsistentGrain<TGrainState>, Orleans.IGrain, Orleans.LogConsistency.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.MultiCluster.ILogConsistencyProtocolParticipant where TGrainState : class, new() where TEventBase : class
public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.EventSourcing.LogConsistentGrain<TGrainState>, Orleans.EventSourcing.ILogConsistencyProtocolParticipant, Orleans.EventSourcing.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.IGrain where TGrainState : class, new() where TEventBase : class
type JournaledGrain<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)> = class
inherit LogConsistentGrainBase<'GrainState (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState))>
interface ILogConsistentGrain
interface ILogConsistencyProtocolParticipant
interface IGrain
interface IAddressable
interface ILogViewAdaptorHost<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)>
interface IConnectionIssueListener
type JournaledGrain<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)> = class
inherit LogConsistentGrain<'GrainState (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState))>
interface ILogConsistencyProtocolParticipant
interface IGrain
interface IAddressable
interface ILogViewAdaptorHost<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)>
interface IConnectionIssueListener
Public MustInherit Class JournaledGrain(Of TGrainState, TEventBase)
Inherits LogConsistentGrainBase(Of TGrainState)
Implements ILogConsistencyProtocolParticipant, ILogConsistentGrain, ILogViewAdaptorHost(Of TGrainState, TEventBase)
Public MustInherit Class JournaledGrain(Of TGrainState, TEventBase)
Inherits LogConsistentGrain(Of TGrainState)
Implements IGrain, ILogConsistencyProtocolParticipant, ILogViewAdaptorHost(Of TGrainState, TEventBase)
형식 매개 변수
- TGrainState
그레인 상태의 형식(예: 이벤트 로그의 집계 뷰)입니다.
- TEventBase
이벤트에 대한 공통 기본 클래스입니다.
- 상속
- 상속
- 상속
- 파생
- 구현
-
IGrain IConnectionIssueListener ILogConsistentGrain ILogViewAdaptorHost<TGrainState,TEventBase> ILogConsistencyProtocolParticipant IAddressable IConnectionIssueListener ILogConsistencyProtocolParticipant ILogViewAdaptorHost<TGrainState,TEventBase>
생성자
JournaledGrain<TGrainState,TEventBase>() |
JournaledGrain<TGrainState,TEventBase> 클래스의 새 인스턴스를 초기화합니다. |
JournaledGrain<TGrainState,TEventBase>(IGrainIdentity, IGrainRuntime) |
이 생성자는 테스트 코드가 Grain을 만들고 IGrainIdentity, IGrainRuntime 및 State를 테스트 더블(모의/스텁)으로 바꿀 수 있는 단위 테스트에 특히 유용합니다. |
속성
DefaultAdaptorFactory |
로그 일관성 공급자가 지정되지 않은 경우 기본 스토리지 공급자를 사용하여 버전이 지정된 상태를 저장합니다. |
GrainContext |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. (다음에서 상속됨 Grain) |
GrainFactory |
다른 곡물에 액세스하는 데 사용할 수 있는 개체를 가져옵니다. 단위 테스트를 위해 직접 만들 때와 같이 이 곡물이 런타임과 연결되지 않은 경우 Null입니다. (다음에서 상속됨 Grain) |
GrainReference |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. (다음에서 상속됨 Grain) |
IdentityString |
형식 및 기본 키를 포함한 곡물의 SiloIdentity에 대한 문자열 표현입니다. (다음에서 상속됨 Grain) |
RuntimeIdentity |
현재 사일로의 고유 식별자입니다. 이 문자열에 대한 의미 체계 콘텐츠는 없지만 로깅에 유용할 수 있습니다. (다음에서 상속됨 Grain) |
ServiceProvider |
런타임에서 관리하는 IServiceProvider를 가져옵니다. 단위 테스트를 위해 직접 만들 때와 같이 이 곡물이 런타임과 연결되지 않은 경우 Null입니다. (다음에서 상속됨 Grain) |
State |
현재 확인된 상태를 가져옵니다. 확인된 이벤트만 포함합니다. |
TentativeState |
현재 미정 상태를 가져옵니다. 확인된 이벤트와 확인되지 않은 이벤트를 모두 포함합니다. |
UnconfirmedEvents |
확인되지 않은 이벤트의 현재 큐를 반환합니다. |
UnresolvedConnectionIssues |
현재 해결되지 않은 모든 연결 문제의 목록을 가져옵니다. |
Version |
현재 확인된 상태의 버전을 가져옵니다. 확인된 이벤트의 총 수와 같습니다. |
메서드
ConfirmEvents() |
이전에 발생한 모든 이벤트가 확인될 때까지 기다립니다. 이벤트를 하나 이상 발생시켜서 계속하기 전에 이벤트가 유지되도록 하거나, 이 곡물의 인스턴스가 여러 개 있는 경우에도 강력한 일관성(선형성)을 보장합니다. |
DeactivateOnIdle() |
현재 grain 메서드 호출이 완료된 후 이 곡물 활성화를 비활성화합니다. 이 호출은 현재 메서드의 끝에서 비활성화되고 제거될 현재 곡물의 활성화를 표시합니다. 이 곡물에 대한 다음 호출은 다른 활성화를 사용하게 되며, 이는 일반적으로 런타임에 의해 새 활성화가 자동으로 생성됨을 의미합니다. (다음에서 상속됨 Grain) |
DelayDeactivation(TimeSpan) |
적어도 지정된 기간 동안 이 활성화의 비활성화를 지연합니다.
양수 |
DisableStatsCollection() |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. |
EnableStatsCollection() |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. |
GetLogger() |
이 곡물의 코드가 추적에 사용할 수 있는 로거 개체를 반환합니다. 로거의 이름은 그레인 클래스 이름에서 파생됩니다. (다음에서 상속됨 Grain) |
GetLogger(String) |
이 곡물의 코드가 추적에 사용할 수 있는 로거 개체를 반환합니다. (다음에서 상속됨 Grain) |
GetReminder(String) |
이전에 등록된 미리 알림을 반환합니다. (다음에서 상속됨 Grain) |
GetReminders() |
그레인에 의해 등록된 모든 미리 알림 목록을 반환합니다. (다음에서 상속됨 Grain) |
GetStats() |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. |
GetStreamProvider(String) |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. (다음에서 상속됨 Grain) |
GetStreamProviders() |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. (다음에서 상속됨 Grain) |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
알갱이가 생성된 직후에 호출되어 어댑터를 설치합니다. 로그 일관성 공급자에는 이 곡물에 대해 선택한 형식으로 어댑터를 생성하는 팩터리 메서드가 포함되어 있습니다. |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
알갱이가 생성된 직후에 호출되어 어댑터를 설치합니다. 로그 일관성 공급자에는 이 곡물에 대해 선택한 형식으로 어댑터를 생성하는 팩터리 메서드가 포함되어 있습니다. |
MigrateOnIdle() |
이 인스턴스를 다른 위치로 마이그레이션하려고 시도합니다. 마이그레이션은 현재 RequestContext캡처하여 새 위치를 선택할 때 고려할 수 있도록 활성화의 배치 디렉터에서 사용할 수 있도록 합니다. 마이그레이션은 실행 중인 요청이 없을 때 비동기적으로 발생하며 활성화의 배치 디렉터가 대체 위치를 선택하지 않으면 발생하지 않습니다. (다음에서 상속됨 Grain) |
OnActivateAsync() |
기본적으로 활성화 시 저널된 곡물은 스토리지에서 최신 보기를 로드할 때까지 기다립니다. 서브클래스는 이 동작을 재정의하고 원하는 경우 대기를 건너뛸 수 있습니다. |
OnActivateAsync() |
이 메서드는 곡물을 활성화하는 프로세스가 끝날 때 호출됩니다. 메시지가 곡물로 디스패치되기 전에 호출됩니다. 영구적 상태가 선언된 곡물의 경우 상태 속성이 채워진 후 이 메서드가 호출됩니다. (다음에서 상속됨 Grain) |
OnActivateAsync(CancellationToken) |
기본적으로 활성화 시 저널된 곡물은 스토리지에서 최신 보기를 로드할 때까지 기다립니다. 서브클래스는 이 동작을 재정의하고 원하는 경우 대기를 건너뛸 수 있습니다. |
OnActivateAsync(CancellationToken) |
이 메서드는 곡물을 활성화하는 프로세스가 끝날 때 호출됩니다. 메시지가 곡물로 디스패치되기 전에 호출됩니다. 영구적 상태가 선언된 곡물의 경우 상태 속성이 채워진 후 이 메서드가 호출됩니다. (다음에서 상속됨 Grain) |
OnConnectionIssue(ConnectionIssue) |
기본 지속성 또는 복제 프로토콜이 일종의 연결 문제가 발생할 때 호출됩니다. 이를 재정의하여 로그 일관성 프로토콜의 상태를 모니터링하거나 재시도 지연을 사용자 지정합니다. throw된 모든 예외는 ILogViewAdaptorFactory의해 catch되고 기록됩니다. |
OnConnectionIssue(ConnectionIssue) |
기본 지속성 또는 복제 프로토콜이 일종의 연결 문제가 발생할 때 호출됩니다. 이를 재정의하여 로그 일관성 프로토콜의 상태를 모니터링하거나 재시도 지연을 사용자 지정합니다. throw된 모든 예외는 ILogConsistencyProvider의해 catch되고 기록됩니다. |
OnConnectionIssueResolved(ConnectionIssue) |
이전에 보고된 연결 문제가 해결되었을 때 호출됩니다. 이를 재정의하여 로그 일관성 프로토콜의 상태를 모니터링합니다. throw된 모든 예외는 ILogConsistencyProvider의해 catch되고 기록됩니다. |
OnConnectionIssueResolved(ConnectionIssue) |
이전에 보고된 연결 문제가 해결되었을 때 호출됩니다. 이를 재정의하여 로그 일관성 프로토콜의 상태를 모니터링합니다. throw된 모든 예외는 ILogViewAdaptorFactory의해 catch되고 기록됩니다. |
OnDeactivateAsync() |
이 메서드는 곡물 비활성화 프로세스의 시작 부분에서 호출 됩니다. (다음에서 상속됨 Grain) |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
이 메서드는 곡물 비활성화 프로세스의 시작 부분에서 호출 됩니다. (다음에서 상속됨 Grain) |
OnStateChanged() |
확인된 상태가 변경된 후 호출됩니다(즉, 확인된 버전 번호가 더 큽니다). 확인된 상태의 변경 내용에 반응하도록 이 값을 재정의합니다. |
OnTentativeStateChanged() |
로컬 또는 원격 이벤트로 인해 미정 상태가 변경될 때마다 호출됩니다. 상태 변경에 반응하도록 이 값을 재정의합니다. |
Participate(IGrainLifecycle) |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. (다음에서 상속됨 Grain) |
Participate(IGrainLifecycle) |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. (다음에서 상속됨 LogConsistentGrain<TView>) |
Participate(IGrainLifecycle) |
표준 이벤트 소싱 용어를 사용하는 로그 일치 곡물의 기본 클래스입니다. 모든 작업은 재진입이 안전합니다. (다음에서 상속됨 LogConsistentGrain<TView>) |
RaiseConditionalEvent<TEvent>(TEvent) |
조건부로 이벤트를 발생합니다. 충돌이 없는 경우에만 성공합니다. 즉, 그 동안 다른 이벤트가 발생하지 않았습니다. |
RaiseConditionalEvents<TEvent>(IEnumerable<TEvent>) |
조건부로 여러 이벤트를 원자성 시퀀스로 발생합니다. 충돌이 없는 경우에만 성공합니다. 즉, 그 동안 다른 이벤트가 발생하지 않았습니다. |
RaiseEvent<TEvent>(TEvent) |
이벤트를 발생합니다. |
RaiseEvents<TEvent>(IEnumerable<TEvent>) |
여러 이벤트를 원자성 시퀀스로 발생합니다. |
RefreshNow() |
지금 최신 상태를 검색하고 이전에 발생한 모든 이벤트를 확인합니다. 실제로 이는 전역 상태와의 동기화를 적용합니다. 이 곡물의 여러 인스턴스가 있는 경우에도 강력한 일관성(선형성)을 보장하기 위해 상태를 읽기 전에 이를 기다립니다. |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
지속적이고 신뢰할 수 있는 미리 알림을 등록하여 일반 알림(미리 알림)을 그레인에 보냅니다.
이 곡물은 |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
사용되지 않음.
타이머를 등록하여 주기적인 콜백을 이 곡물로 보냅니다. (다음에서 상속됨 Grain) |
RetrieveConfirmedEvents(Int32, Int32) |
스토리지에서 확인된 이벤트 시퀀스의 세그먼트를 검색합니다. 이벤트를 읽을 수 없는 경우 NotSupportedException throw합니다. 이벤트를 사용할 수 있는지 여부와 기간은 사용된 공급자 및 구성 방법에 따라 달라집니다. |
TransitionState(TGrainState, TEventBase) |
상태에 이벤트를 적용하는 방법을 정의합니다. 하위 클래스에서 재정의되지 않는 한 이벤트를 매개 변수로 사용하여 상태의 동적 "Apply" 함수를 호출합니다. 이 메서드에서 throw된 모든 예외는 로그 뷰 공급자에 의해 catch되고 기록됩니다. 지정된 이벤트의 상태를 전환하는 방법을 사용자 지정하려면 이를 재정의합니다. |
UnregisterReminder(IGrainReminder) |
이전에 등록된 미리 알림을 등록 취소합니다. (다음에서 상속됨 Grain) |
명시적 인터페이스 구현
확장 메서드
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를 반환합니다. |
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) |
그레인 형식과 연결된 스토리지 공급자를 가져옵니다. |