How can I set the property of a service that is registered in ServiceCollection after it is constructed. I cannot pass the value to the constructor as it would result in circular dependency. Wanted behavior:
public class ServiceA : IServiceA
{
public ServiceA(IServiceB serviceB)
{
ServiceB = serviceB;
}
IServiceB ServiceB {get; set;}
}
public class ServiceB : IServiceB
{
ServiceA {get; set;}
}
services.AddSingleton<IServiceA, ServiceA>();
services.AddSingleton<IServiceB, ServiceB>();
//I need something like this
services.Inject<IServiceB>((serviceB, serviceProvider) =>
{
serviceB.ServiceA = serviceProvider.GetService<IServiceA>();
});