【问题标题】:StructureMap and Proto.Actor in .NET Core 2.NET Core 2 中的 StructureMap 和 Proto.Actor
【发布时间】: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 正确创建为单例(或有解决方法)?

【问题讨论】:

    标签: structuremap proto.actor


    【解决方案1】:

    最后,使用 StructureMap 消除了我对 ActorFactory 本身的需求。因此,我没有从工厂获取演员的 PID,而是有两行:

    var props = Actor.FromProducer(() => container.GetInstance<MyActorType>());
    var pid = Actor.Spawn(props);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      相关资源
      最近更新 更多