ASP.NET Core использует методы расширения в IServiceCollection
для установки инъекции зависимостей, а затем, когда нужен тип, он использует соответствующий метод для создания нового экземпляра:
-
AddTransient<T>
- добавляет тип, который создается снова при каждом запросе. -
AddScoped<T>
- добавляет тип, который сохраняется для области запроса. -
AddSingleton<T>
- добавляет тип при первом запросе и сохраняет его.
У меня есть типы, которые реализуют IDisposable
, и это вызовет проблемы, если они не будут удалены - в каждом из этих шаблонов, когда на самом деле вызывается Dispose
?
Есть ли что-нибудь, что мне нужно добавить (например, обработка исключений), чтобы убедиться, что экземпляр всегда удален?