我不确定将依赖关系注入到Grain中的方式或位置。哪个地方最适合这样做?
如果不可能,我应该在WorkerRole.Run方法中设置一个容器并根据需要获取实例吗?
答案 0 :(得分:10)
自orleans 1.1.0发布以来,奥尔良团队为#grain;添加了" ASP.NET vNext样式依赖注入格式",您可以在here
中看到此示例另请参阅" ASP.NET vNext依赖注入"作品见here
答案 1 :(得分:7)
谷物中对DI的支持有限。这个功能很快就会被提供,但是在1.0.9中 - 没有传统的构造函数注入。
到目前为止,您可以使用(反模式)ServiceLocator使用您选择的框架(例如我们使用Autofac和CommonServiceLocator)来解析您想要在grain实例中调用的服务。
对于单元测试 - 有一个Grain构造函数,可用于构造带有模拟的grain实例(参见more details here)
我邀请您参加奥尔良的聊天(通过上面的链接),在那里您可以看到围绕其他一些问题的答案和讨论。