我开始潜入奥尔良溪流,但在使用 ImplicitStreamSubscription 时遇到了问题。我在QuickStart示例的基础上添加了一个实现接口和粒度的新项目。这是到目前为止我的所有代码。
[ImplicitStreamSubscription("RANDOMDATA")]
public class VSMDiscovery : Grain, IVSMDiscovery
{
public override Task OnActivateAsync()
{
Console.WriteLine("Started" + this.GetPrimaryKey());
return base.OnActivateAsync();
}
}
public interface IVSMDiscovery : IGrainWithIntegerKey
{
}
在开发测试主程序中,我只是使用发送一个事件
var guid = Guid.NewGuid();
//Get one of the providers which we defined in config
var streamProvider = Orleans.GrainClient.GetStreamProvider("SMSProvider");
//Get the reference to a stream
var stream = streamProvider.GetStream<int>(guid, "RANDOMDATA");
stream.OnNextAsync(1);
一切似乎都执行得很好,实例化了一个新的grain,并调用了 OnActivateAsync 将消息写入控制台,但是我收到了这个错误。
VSM Started206d105b-d21b-496c-997a-9dac3cf370b3 扩展未安装在谷物 Draco.VSMConnection.VSMDiscovery 试图从可调用的 Orleans.Runtime.ActivationData 调用类型 Orleans.Streams.OrleansCodeGenStreamConsumerExtensionMethodInvoker 异常 = Orleans.Runtime.GrainExtensionNotInstalledException:谷物 Draco 上未安装扩展.VSMConnection.VSMDiscovery 试图从可调用的 Orleans.Runtime.ActivationData 调用类型 Orleans.Streams.OrleansCodeGenStreamConsumerExtensionMethodInvoker
[2016-03-09 05:53:41.007 GMT 14 WARNING 103405 InsideRuntimeClient 127.0.0.1:11111] 未在grain Draco.VSMConnection.VSMDiscovery 上安装扩展试图从可调用的 Orleans.Runtime.ActivationData 调用类型 Orleans.Streams.OrleansCodeGenStreamConsumerExtensionMethodInvoker 以获取消息新放置请求 S127.0.0.1:11111:195198808*cli/5853f180@9c59fabf->S127.0.0.1:11111:195198808*grn/EB2C0203/ac9d7a99@0e33939b #5: global::Orleans.Streams.IStreamConsumerExtension: )
正如我所提到的,一切似乎都运行正常,但是出现这个错误是非常令人担忧的。任何帮助将不胜感激。