Если у вас это работает как служба, это может быть 1000, пока они не будут очищены. Если я закомментирую код WindowsIdentity.RunImpersonated и удалю токен пользователя, а затем использую сеансы klist, сеансы будут очищены.
Похоже, что там — это ссылка, хранящаяся в статических методах WindowsIdentity.RunImpersonated, которая предотвращает очистку этих SafeAccessTokenHandle.
Это можно воспроизвести с помощью этого кода:< /p>
Код: Выделить всё
using (var usertoken = ReportSecurityCredentials.FileCopyUserCredentials.LogonUser(ReportSecurityCredentials.LogonTypeSecurity, SimpleImpersonation.LogonProvider.Negotiate))
{
WindowsIdentity.RunImpersonated(usertoken, () =>
{
//test
});
}
Код: Выделить всё
klist sessions
Подробнее здесь: https://stackoverflow.com/questions/791 ... ever-purge
Мобильная версия