Использование реализации Factory с соответствующими службами в инъекции зависимостейC#

Место общения программистов C#
Ответить
Anonymous
 Использование реализации Factory с соответствующими службами в инъекции зависимостей

Сообщение Anonymous »

Я прочитал документацию о инъекции зависимости , но я не могу найти правильный подход к использованию реализации face , когда делегат должен разрешить связанные службы из Di -container для настройки другой службы. (все службы реализуют iDisposable )

Код: Выделить всё

IHost hostBuilder = Host.CreateDefaultBuilder()
.ConfigureServices(
(context, services) =>
{
services.AddTransient();
services.AddScoped();
services.AddSingleton();
})
.ConfigureServices(
(context, services) =>
{
services.AddTransient(
sp =>
{
var transient = sp.GetRequiredService();
var scoped = sp.GetRequiredService();
var singleton = sp.GetRequiredService();

return new ServiceLifetimeReporter(transient, scoped, singleton);
});
})
.Build();
(я понимаю, что это пример будет работать также без реализации Factory). /> [*] Должен ли я вручную создать локальную область в реализации fqualtory (с помощью CreateScope ) ?

Код: Выделить всё

Dispose()< /code>) объекты до его построения?Dispose()
не было вызвано)
[*] Создать локальную область (

Код: Выделить всё

Dispose()
вызван для Transient и Scoped Life -Times)
[*] Использовать с использованием для вызывания dispose () Методы (

Код: Выделить всё

Dispose()
призван на всю жизнь)


Подробнее здесь: https://stackoverflow.com/questions/786 ... -injection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»