У меня есть служба WCF, работающая на IIS.
Каждый раз, когда пользователь входит в систему (с именем пользователя и паролем), я создаю SessionClass, который делает что-то каждые несколько минут в потоке и обрабатывает пользовательские запросы.
Я сохраняю каждый новый SessionClass, созданный в Словаре, в одиночном ServiceClass.
Если пользователь ничего не запрашивает в течение длительного периода времени (скажем, 10 часов), сеанс должен прекратиться. Я уничтожаю поток и удаляю SessionClass из словаря в синглтоне ServiceClass.
Моя проблема в том, что каждый раз, когда я удаляю SessionClass из Словаря, он снова делает экземпляр ServiceClass пустым, а в следующий раз, когда он вызывается, он создается снова, поэтому я теряю все сеансы, которые я использовал для хранения в словарь ...
Я пытался удерживать прямую ссылку внутри службы WCF на ServiceClass.GetInstance () (я думал, что сборщик мусора убивает ServiceClass), но это не поможет ...
Почему это происходит? Есть идеи?