Как заставить ServiceProvider вызывать Dispose для объектов, созданных вручную? - PullRequest
0 голосов
/ 25 февраля 2019

Я использую Microsoft.Extensions.DependencyInjection (реализация по умолчанию).Я заметил, что когда я добавляю свой объект как синглтон, ServiceProvider игнорирует IDisposable на моем объекте.

var instance = new MyDisposableObj();
ServiceLocator.Instance = instance;

var services = new ServiceCollection();
services.AddSingleton( instance );
var container = services.BuildServiceProvider();
container.Dispose();

Похоже, что Microsoft считает, что мне нужно вручную удалять объекты, созданные вручную.

Но в случае, когда я делаю расширение для ServiceCollection, я хочу инкапсулировать удаление моего объекта.Я не должен заставлять пользователей моего расширения распоряжаться моими объектами вручную!

Итак, возможно ли изменить это поведение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...