using Microsoft.Extensions.DependencyInjection;
ServiceCollection services = new ServiceCollection();
services.AddScoped<Disposable>();
var sp = services.BuildServiceProvider();
var scope1 = sp.CreateScope();
var scope2 = scope1.ServiceProvider.CreateScope();
var obj = scope2.ServiceProvider.GetRequiredService<Disposable>();
obj = scope2.ServiceProvider.GetRequiredService<Disposable>();
Console.WriteLine(obj.v);
Console.WriteLine(obj.v);
public class Disposable : IDisposable {
public string? v = "NotDisposed";
public void Dispose() { v = "Disposed"; }