我不确定如何或在何处将依赖项注入 Grain。最好的地方在哪里?
如果不可能,我是否应该在 WorkerRole.Run 方法中设置一个容器并在需要时获取实例?
我不确定如何或在何处将依赖项注入 Grain。最好的地方在哪里?
如果不可能,我是否应该在 WorkerRole.Run 方法中设置一个容器并在需要时获取实例?
自orleans 1.1.0发布以来,orleans 团队添加了“ASP.NET vNext style Dependency Injection for grains”,您可以在此处查看示例
还要了解“ASP.NET vNext 依赖注入”的工作原理,请参见此处
谷物中对 DI 的支持有限。承诺很快就会提供此功能,但与 1.0.9 一样 - 没有传统的构造函数注入。
到目前为止,您可以使用(反模式)ServiceLocator 使用您选择的框架(例如,我们为此使用 Autofac 和 CommonServiceLocator)来解析您想要在您的grain实例中调用的服务。
对于单元测试 - 有一个 Grain 构造函数,可用于构造带有模拟的grain实例(请参阅此处的更多详细信息)
我会邀请您参加奥尔良 gitter 聊天(通过上面的链接),您可以在其中看到有关其他一些紧迫问题的答案和讨论。