Рекомендуется ли использовать события ApplicationLifetime для проверки и утилизации контейнера Simple Injector - PullRequest
1 голос
/ 24 апреля 2020

Это хорошая идея, чтобы сделать следующее?

public void Configure(
    IApplicationBuilder app,
    IWebHostEnvironment env,
    IHostApplicationLifetime applicationLifetime)
{
    applicationLifetime.ApplicationStarted.Register(() => _container.Verify());
    applicationLifetime.ApplicationStopped.Register(() => _container.Dispose());
    ...
}

Мне интересно, есть ли крайние случаи в этом шаблоне, которые приводят к тому, что проверка выполняется слишком поздно или слишком рано, и если неудачная проверка приводит к остановке приложения (надеюсь, это так).

1 Ответ

0 голосов
/ 24 апреля 2020

Когда дело доходит до вызова Dispose, с введением v4.9 простого инжектора ASP. NET Интеграция ядра, Container автоматически удаляется, когда приложение выключается. См. этот раздел документации для получения дополнительной информации.

Если вы используете версию ниже v4.9, вы можете рассмотреть возможность обновления. Если это невозможно, использование ApplicationStopped.Register кажется хорошей идеей.

Я не могу прокомментировать поведение Verify(), поэтому мне интересно ваше впечатление от этого, хотя я вижу, нет никакого преимущества перед вызовом Verify в методе Configure.

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