Chapter 2: Dependency Injection
Actors often need services such as logging or databases. Dependency Injection (DI) can create actors with those dependencies while keeping code testable.
Using DI in C#
using Microsoft.Extensions.DependencyInjection;
using Proto;
var services = new ServiceCollection();
services.AddSingleton<IMyService, MyService>();
var provider = services.BuildServiceProvider();
var system = new ActorSystem();
var props = Props.FromProducer(() => new MyActor(provider.GetRequiredService<IMyService>()));
var pid = system.Root.Spawn(props);