Я столкнулся с проблемой, когда в HttpApplicationState добавлен долго работающий синглтон, который выполняет некоторую маскировку данных (GDPR), останавливает маскирование данных после некоторого запуска в фоновом режиме.
Трудно отладить, потому что это происходит только в нашей среде UAT и обычно происходит в одночасье.
Проблема заключается в том, что библиотека маскирования данных является сторонней, и все еще находится в стадии разработки (или в конце этой работы).
Но я был бы признателен, если бы кто-либо с лучшими знаниями в GC мог взглянуть на приведенный ниже код инициализации и подтвердить, что он находится вне домена GC.
Translator.GetInstance () - это ленивый загрузчик синглтона маскирования / перевода GDPR. Таким образом, он инициализируется в первый раз, когда пользователь маскирует / снимает маску с данных.
protected void Application_Start()
{
if (Translator)
{
Application["MaskDataUtility"] = new MaskDataUtility(Translator.GetInstance());
}
else
{
Application["MaskDataUtility"] = new MaskDataUtility(new CustomTranslator());
}
}