【发布时间】:2018-03-27 23:16:30
【问题描述】:
我一直在使用Proto.Actor,特别是ActorFactory 来生成演员。为了能够使用这些功能,我需要将services.AddProtoActor() 添加到我的启动类的ConfigureServices 方法中。
但是,现在我想过渡到使用 StructureMap 作为我的 IoC 容器,但两者似乎不能很好地结合在一起 - 当我从网上找到的指南中添加以下代码时:
public IServiceProvider ConfigureIoC(IServiceCollection services)
{
// static class method that scans assemblies
IContainer container = IocContainer.SetupContainer();
container.Configure(config =>
{
config.Populate(services);
});
return container.GetInstance<IServiceProvider>();
}
当它尝试运行 config.Populate 时,我收到以下错误:
System.ArgumentOutOfRangeException:指定的参数不在 有效值的范围。参数名称:EventStream 必须有 at StructureMap 插入至少一个公共构造函数
有没有人知道如何在 StructureMap 中将 IActorFactory 正确创建为单例(或有解决方法)?
【问题讨论】: