Например, есть некоторая страница, с которой можно управлять данными, и нужно, чтобы туда нельзя попасть, если кто то уже там находится. Навскидку напрашиваются варианты:
Собственно, как лучше сделать или у asp.net есть какие то родные механизмы?
Вообще, лучше писать в базу, грубо говоря заводить токен доступа к вашей странице соответствующему пользователю, с временем жизни в несколько минут и с опциональным механизмом "скользящего устаревания" (Sliding expiration).
При входе на страницу, делаете проверку в БД, если токен есть, бросаете 403. Если нет, то создаете.
Опять же, учитываете при доступе к странице, а можно ли вообще пользователю входить на нее.
P.S. Можно писать не только в базу, но в редис, к примеру. Но тут уже вам на усмотрение.
Правильнее писать в базу, причём желательно чтобы у пользователя не оставалось вариантов. Получение "лока" на редактирование базы по кнопочке "Начать редактирование", а сохранить данные можно только по "Сохранить/Отменить и закончить редактирование". Плюс завязаться на закрытие странички и тоже снимать лок. Понятно что всё равно нет гарантии корректного снятия "лока", так что таймаут тоже предусмотреть надо.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости