问题标签 [orleans]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
474 浏览

c# - 单元测试项目奥尔良文件未找到异常

我正在尝试对我制作的一个相当简单的应用程序进行单元测试,但是在运行测试时遇到了一个非常奇怪的错误。

我所做的只是:

  • 创建了一个新的类库
  • 添加了对Microsoft.Orleans.TestingHost两个Microsoft.Orleans.OrleansProviders版本的引用1.1.2
  • 运行测试并得到一个file not found exception

测试文件如下所示:

^^ 从上面我什至尝试硬编码配置文件的位置。

堆栈跟踪(有趣的是它在我的appdata 文件夹中寻找配置文件:

0 投票
2 回答
646 浏览

c# - 奥尔良扩展未安装

我开始潜入奥尔良溪流,但在使用 ImplicitStreamSubscription 时遇到了问题。我在QuickStart示例的基础上添加了一个实现接口和粒度的新项目。这是到目前为止我的所有代码。

在开发测试主程序中,我只是使用发送一个事件

一切似乎都执行得很好,实例化了一个新的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: )

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

0 投票
0 回答
634 浏览

serialization - Microsoft Orleans,不支持的类型,序列化程序不可用 GrainInterfaceMap

我正在尝试连接到奥尔良筒仓,但出现此错误。

{“遇到不支持的类型'Orleans.Runtime.GrainInterfaceMap'。也许你需要标记它[Serializable]或为它定义一个自定义序列化器?”}

在 Orleans.Serialization.SerializationManager.DeserializeInner(预期类型,BinaryTokenStreamReader 流)在 Orleans.Serialization.BuiltInTypes.DeserializeOrleansResponse(预期类型,BinaryTokenStreamReader 流)在 Orleans.Serialization.SerializationManager.DeserializeInner(预期类型,BinaryTokenStreamReader 流)在 Orleans.Serialization。 Orleans.Serialization.SerializationManager.Deserialize(BinaryTokenStreamReader stream) 在 Orleans.Runtime.Message.DeserializeBody(List 1 context) 的 SerializationManager.Deserialize(Type t, BinaryTokenStreamReader stream)1 bytes)
at Orleans.Runtime.Message.get_BodyObject() at Orleans.Runtime.GrainReference.ResponseCallback(Message message, TaskCompletionSource

当我在对象浏览器中搜索时,我可以看到一个类,可能是为了序列化这个类而创建的: Orleans.Runtime.Configuration.OrleansCodeGenOrleans_Runtime_GrainInterfaceMapSerializer.OrleansCodeGenOrleans_Runtime_GrainInterfaceMapSerializer()

但不知何故我得到了这个错误。我认为存在配置问题..您对我如何解决此问题有任何想法吗?谢谢..

0 投票
2 回答
1095 浏览

dependency-injection - 如何配置 Orleans DI 容器来解析每个粒度对象图具有相同实例的服务?

我正在使用 Microsoft Orleans,并且我有一个名为 ConsumerGrain 的颗粒,它通过订阅的 id 与 Azure 订阅相关联。为符合 SOLID 原则,注入了多个应用程序服务。某些应用程序服务需要订阅的 id。我不想在每个方法调用上传递订阅 id,而是将一个 ISubscriptionContext 对象注入到每个需要当前订阅 id 的应用程序服务中,并且我希望每个grain的对象图创建一次服务实例,所以它不可能是 Transient 而不是 Singleton 的生活方式。Scoped 生活方式可以在这里使用吗?

0 投票
1 回答
194 浏览

orleans - Orleans 的序列化器流有效负载类

我对奥尔良有点陌生,目前使用它来处理传入事件,使用奥尔良流传递给谷物。Orleans 客户端发送到类型为“EventData”的流对象,这些对象在我们使用的单独 nuget 中实现。在 Orleans silo 方面,我们有一个使用 ImplicitStreamSubscription 订阅该流的grain。grain 接口不使用“EventData”,实际上流订阅是该grain 的主要入口点。

我遇到的问题是,当客户端尝试将“EventData”实例发送到流时,我得到一个关于“EventData”类缺少序列化程序的异常。将“EventData”类标记为 [Serializable] 解决了这个问题,但理解不使用 Orleans 的内置专用序列化程序。

如何让 Orleans 为“EventData”使用内置生成的序列化程序?

根据文档,似乎必须将奥尔良模板 nuget 添加到“EventData”装配项目中。真的吗?由于它是在 Orleans 以外的运行时环境中使用的 nuget,因此我想保留它而不引用 orleans。

0 投票
1 回答
1786 浏览

sql-server - 使用 SQL Server 作为奥尔良存储

我正在尝试使用 SQL Server 作为 Orleans 的数据存储。

我已经设法让我的解决方案使用 Azure 本地存储模拟器工作,但无法让它与 SQL Server 的本地实例一起工作。我使用以下方法创建了数据库:

https://github.com/dotnet/orleans/blob/master/src/OrleansSQLUtils/CreateOrleansTables_SqlServer.sql

并使我的配置文件看起来像这里的一个:

http://dotnet.github.io/orleans/Documentation/Advanced-Concepts/Configuring-SQL-Tables.html

这是我的配置文件:

我在谷物中添加了以下属性:

然后我收到以下错误: Could not locate a state map factory type...

请有人让我知道我需要向提供者添加什么,或者我做错了什么?我是否需要为 SQL Provider 创建与 StateMapFactoryType 相关的内容?

谢谢

0 投票
1 回答
435 浏览

c# - 在奥尔良使用内部谷物的结果

我想了解谷物在奥尔良的运作方式。当我尝试在外部晶粒中使用内部晶粒的结果时,我的程序将停止。

内部颗粒会被我的外部颗粒的上下文阻塞,所以我永远无法从内部颗粒中得到结果吗?

0 投票
1 回答
946 浏览

c# - 是否可以运行托管在 Windows 服务中的 Orleans

请指出我是否有任何直接方法可以运行 Windows 服务中托管的 Orleans。如果没有直接的方法,那么有没有间接的方法呢?

先感谢您

0 投票
2 回答
208 浏览

orleans - 如何在 MS Orleans 中进行简单的状态保护工作?

我已经安装了 Orleans SDK/Orleans VS Tools。我创建了所有三个项目(Grain、Interface 和 Silo)。我正在尝试将它们作为开发测试主机运行。我正在关注复数视频中的一个例子(它显然已经过时了)并且几乎没有帮助我能够坚持下去。为了使 presistance 工作,我需要一个服务器配置文件。我复制了文件并将其放入 Silo 项目中,但由于某种原因,奥尔良找不到它。如果有人想以当前形式查看它,我在 Git 中签入了代码。

0 投票
1 回答
91 浏览

orleans - 客户端筒仓未在 azure 中初始化的原因可能是什么?

我正在按照HelloWorld示例学习如何在 Azure 中部署和执行奥尔良应用程序。我能够使它在本地工作。当我将它部署为天蓝色时,它正在超时。我按照天蓝色的调试链接,能够找出服务器中发生的事情。这是我在服务器上遇到的错误

w3wp.exe 错误:0 : Client.Initialize failed with exc -- 发生一个或多个错误.. 将重试

在对奥尔良代码进行一些研究之后,我找到了引发此特定错误的地方。它指出如果未找到网关,则抛出此错误。

我被困在这里,有人对如何解决这个问题有任何指示吗?

谢谢