C# 使用DI()扩展从ACtorSystem创建actorRefs时,引发对象引用异常

C# 使用DI()扩展从ACtorSystem创建actorRefs时,引发对象引用异常,c#,.net,autofac,akka.net,C#,.net,Autofac,Akka.net,我正在尝试设置一个基本项目,该项目将使用Autofac进行依赖项注入 在尝试获取我的演员执行以下操作的实例时,我遇到以下问题: _system = Akka.Actor.ActorSystem.Create(_settings.SystemName); PingActor = _system.ActorOf(_system.DI().Props<PingActor>(), ActorNames.PingActor); 我尝试注册我的演员的地方: public class IoCMo

我正在尝试设置一个基本项目,该项目将使用Autofac进行依赖项注入

在尝试获取我的演员执行以下操作的实例时,我遇到以下问题:

_system = Akka.Actor.ActorSystem.Create(_settings.SystemName);
PingActor = _system.ActorOf(_system.DI().Props<PingActor>(), ActorNames.PingActor);
我尝试注册我的演员的地方:

public class IoCModule : Module
{
    protected override void Load(ContainerBuilder builder)
    {
        builder.RegisterType<ActorSystemShell>().As<IActorSystemShell>();
        builder.RegisterType<PingActor>();
    }
}
公共类IOC模块:模块
{
受保护的覆盖无效负载(ContainerBuilder builder)
{
builder.RegisterType().As();
RegisterType();
}
}

为什么要将我的Actor设置为Null?

我缺少AutoFacDependencyResolver

我修改了代码,如下所示:

public void Start()
{
    _system = Akka.Actor.ActorSystem.Create(_settings.SystemName);

    // Create the dependency resolver
    IDependencyResolver resolver = new AutoFacDependencyResolver(IoC.Container, _system);

    PingActor = _system.ActorOf(_system.DI().Props<PingActor>(), ActorNames.PingActor);

    Console.WriteLine($"Starting actor system: {_settings.SystemName}");
}
public void Start()
{
_system=Akka.Actor.ActorSystem.Create(_settings.SystemName);
//创建依赖项解析器
IDependencyResolver解析器=新的AutoFacDependencyResolver(IoC.Container,_系统);
PingActor=\u system.ActorOf(\u system.DI().Props(),ActorNames.PingActor);
WriteLine($“启动参与者系统:{u settings.SystemName}”);
}
public class IoCModule : Module
{
    protected override void Load(ContainerBuilder builder)
    {
        builder.RegisterType<ActorSystemShell>().As<IActorSystemShell>();
        builder.RegisterType<PingActor>();
    }
}
public void Start()
{
    _system = Akka.Actor.ActorSystem.Create(_settings.SystemName);

    // Create the dependency resolver
    IDependencyResolver resolver = new AutoFacDependencyResolver(IoC.Container, _system);

    PingActor = _system.ActorOf(_system.DI().Props<PingActor>(), ActorNames.PingActor);

    Console.WriteLine($"Starting actor system: {_settings.SystemName}");
}