У меня есть устаревшее приложение ASP.NET, в котором есть некоторые проблемы и несоответствия, связанные с сеансами / параллелизмом.
Я ищу лучший способ сделать редизайн /
Это сценарий А. Несколько пользователей могут войти на сайт и получить доступ / изменить данные билета.Однако, если пользователь уже находится в процессе изменения рабочего процесса ... TicketId, UserId сохраняются в БД с отметкой времени.
B.Если другой пользователь пытается получить доступ к тому же Билету, когда он уже обрабатывается другим пользователем.Затем доступ к данным осуществляется из БД, и самому последнему пользователю предоставляется информационное окно, сообщающее, что Билет заблокирован.
C.Если первоначальный / заблокированный пользователь делает «Выход», блокировка снимается в БД.Теперь следующий пользователь может получить доступ без хлопот
Все это нормально ... но если первоначальный пользователь ... вместо "выхода" ... просто закрывает окно браузера ... приложение по-прежнему остается заблокированным.
Как этого избежать?Каков лучший дизайн в этом сценарии?