你好,当我尝试在NotifierGrain中访问我的PlayerGrain时遇到问题,并且无法完全理解该错误,它使我无法找到任何文档或类似问题。
所以在我的通知程序中,我首先尝试让我的PlayerGrain像这样
var player = GrainFactory.GetGrain<IPlayerGrain>(playerKey);
但这给了一个错误
System.InvalidOperationException: 'Activation access violation. A non-activation
thread attempted to access activation services.'
我试图找出什么是非激活线程,但一无所获
所以我开始寻找以相同方式访问谷物的其他谷物,并在该谷物中也尝试了这一行
public new virtual IGrainFactory GrainFactory => base.GrainFactory;
它给出了完全相同的错误,这使我认为它在尝试访问grainfactory时发生。任何人都知道为什么,因为在我的PlayerGrain中,我可以这样称呼谷物,并且效果很好。
var notifier = GrainFactory.GetGrain<INotifierGrain>(Constants.NotifierGrain);