Transient services

A service is registered as a transient service by default, which means that a new instance of the service is created every time the service is resolved:

var repo = new ServiceRepository();

repo.Register<MyService>().As<IMyService>();

var provider = repo.CreateServiceProvider();

var svc1 = provider.Get<IMyService>();
var svc2 = provider.Get<IMyService>();
var svc3 = provider.Get<IMyService>();
var svc4 = provider.Get<IMyService>();

// svc1, svc2, svc3 and svc4 all reference a different instance