如何使用 JournaledGrain 进行事件溯源
How to use JournaledGrain for event sourcing
我是奥尔良女士的初学者。我想使用 JournaledGrain 向它的监听器发送一个事件。这是我尝试过的。
public class MyJournaledGrain : JournaledGrain<State, Event>, IJournaledGrain
{
public MyJournaledGrain()
{
}
public void RaiseEvent()
{
Trace.WriteLine(" hi ");
this.RaiseEvent(new Event());
this.ConfirmEvents();
}
protected override void OnStateChanged()
{
// some thing ...
base.OnStateChanged();
}
protected override void TransitionState(State state, Event @event)
{
base.TransitionState(state, @event);
}
}
在 OnStateChanged 方法中,我可以获得引发的事件,但发送方和接收方在一个 class 中。我想要 pub/sub 模式之类的东西。奥尔良女士有可能实现这一目标吗?
谢谢
事件溯源和 pub/sub 是两个独立的事物:
- 事件溯源用于 grain 的状态持久化
- Pub/sub用于grains之间的消息传递
对于 pub/sub,您需要 Orleans Streams:https://dotnet.github.io/orleans/Documentation/streaming/index.html
我是奥尔良女士的初学者。我想使用 JournaledGrain 向它的监听器发送一个事件。这是我尝试过的。
public class MyJournaledGrain : JournaledGrain<State, Event>, IJournaledGrain
{
public MyJournaledGrain()
{
}
public void RaiseEvent()
{
Trace.WriteLine(" hi ");
this.RaiseEvent(new Event());
this.ConfirmEvents();
}
protected override void OnStateChanged()
{
// some thing ...
base.OnStateChanged();
}
protected override void TransitionState(State state, Event @event)
{
base.TransitionState(state, @event);
}
}
在 OnStateChanged 方法中,我可以获得引发的事件,但发送方和接收方在一个 class 中。我想要 pub/sub 模式之类的东西。奥尔良女士有可能实现这一目标吗? 谢谢
事件溯源和 pub/sub 是两个独立的事物:
- 事件溯源用于 grain 的状态持久化
- Pub/sub用于grains之间的消息传递
对于 pub/sub,您需要 Orleans Streams:https://dotnet.github.io/orleans/Documentation/streaming/index.html