未安装奥尔良扩展程序

时间:2016-03-09 06:00:09

标签: c# reactive-programming orleans

我开始潜入Orleans Streams并且使用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
{
}

在DevTest主页中,我只是使用

发送一个事件
 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);

一切似乎执行得很好,一个新的粒子被实例化并调用OnActivateAsync将消息写入控制台,但是我得到了这个错误。

  

VSM Started206d105b-d21b-496c-997a-9dac3cf370b3   扩展未安装在谷物Draco.VSMConnection.VSMDiscovery试图从可调用的Orleans.Runtime.ActivationData调用类型Orleans.Streams.OrleansCodeGenStreamConsumerExtensionMethodInvoker   Exception = Orleans.Runtime.GrainExtensionNotInstalledException:未在谷物上安装扩展Draco.VSMConnection.VSMDiscovery尝试从可调用的Orleans.Runtime.ActivationData

调用类型Orleans.Streams.OrleansCodeGenStreamConsumerExtensionMethodInvoker      

[2016-03-09 05:53:41.007 GMT 14警告103405 InsideRuntimeClient 127.0.0.1:11111]未在谷物上安装扩展Draco.VSMConnection.VSMDiscovery试图从可调用的Orleans.Runtime调用类型Orleans.Streams.OrleansCodeGenStreamConsumerExtensionMethodInvoker。消息的激活数据NewPlacement请求S127.0.0.1:11111:195198808 * cli / 5853f180 @ 9c59fabf-&gt; S127.0.0.1:11111:195198808 * grn / EB2C0203 / ac9d7a99 @ 0e33939b#5:global :: Orleans.Streams。 IStreamConsumerExtension:DeliverItem()

正如我所提到的,一切似乎都运行正常,但出现此错误非常令人担忧。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

你需要确保&#34; SMSProvider&#34;对于客户端和孤岛,在配置文件中正确指定了流提供程序,如下所示:https://github.com/dotnet/orleans/blob/master/test/Tester/OrleansConfigurationForStreamingUnitTests.xml#L9

答案 1 :(得分:0)

对我来说,这是由于具有一个具有隐式订阅属性的grain导致的,但是使用哪个FORGOT可以通过OnActiveAsync方法来订阅流(这是必需的,并且在上面提到的快速入门中对此进行了概述)...。从错误消息中根本无法清除。希望这可以减轻别人的痛苦。