У меня есть веб-приложение ASP.NET, которое представляет данные, полученные из веб-службы.
Прежде чем получать фактические данные из службы, необходимо получить токен, вызвав определенный метод в этой службе. Этот токен должен быть предоставлен при любых последующих вызовах методов данных. Срок действия этого токена истекает через некоторое время, и вызов метода данных с токеном с истекшим сроком действия приводит к ошибке, и для дальнейшего обмена данными необходимо получить новый токен. Активный токен хранится в глобальной переменной приложения ASP.NET.
Это все хорошо, но как я могу предотвратить повторное обновление токенов? Запрос от одного пользователя к сайту инициирует вызов службы, это приводит к ошибке, и новый токен извлекается и помещается в кэш, но в то же время другой пользовательский запрос обнаруживает, что токен истек, и также обновляет токен.
Здесь нет проблемы? Я не могу обернуть голову вокруг этого.