Как получить открытую переменную (в модуле), чтобы НЕ делить значение между пользователями
Я работаю в веб-приложении ASP.NET (VB) с аутентификацией Windows / Active Directory
Я использую модуль, чтобы я мог вызывать общедоступные подпрограммы и функции, а также ссылочные переменные без необходимости создания нового объекта для доступа к ним на каждой странице.
В этом модуле у меня есть некоторые общедоступные переменные, которые я использую на нескольких страницах веб-приложения. Недавно я понял, что значения этих открытых переменных в модуле распределяются между всеми пользователями.
ЦЕЛЬ: Я хочу, чтобы значение этих глобальных переменных было специфичным для одного пользователя и не разделялось между всеми сессиями, и я не хочу создавать экземпляр нового объекта / класса на каждой странице, которая использует переменную.
ЗАМОК: Я не хочу хранить значение в переменной на стороне клиента, такой как cookie или сеанс. Я хочу, чтобы значение было сохранено на СЕРВЕРЕ, но определено для каждого клиента / пользователя.
Единственное, что я могу сделать, это настроить глобальную коллекцию / словарь и сохранить переменные с аутентифицированными именами пользователей, но тогда мне нужно иметь специальные функции для получения и установки значений. Несмотря на то, что это будет работать, необходимо обновить все ссылки на эти переменные на всех страницах приложения.
ПРИМЕР ПРОБЛЕМЫ: Приведенный ниже код показывает, как я создаю открытую переменную внутри модуля и как значение устанавливается с одной страницы и используется на другой. Я хотел бы продолжать использовать эту переменную таким же образом и разделять ее значение между страницами, но значение переменной НЕ должно делиться между пользователями.
- MODULE.VB -
Public Module MyMod
Public myVariable as String = ""
End Module
- MAINPAGE.VB -
Partial Class _Default
Sub Page_Load() Handles MyBase.Load()
myVariable = "HELLO WORLD"
End Sub
End Class
- NEXTPAGE.VB -
Partial Class _Default
Sub Page_Load() Handles MyBase.Load()
Response.Write(myVariable)
End Sub
End Class
В этом приложении есть много страниц, которые необходимо будет обновить вручную, если мне придется использовать мое решение для сбора индексов с использованием идентификатора пользователя, поэтому я надеюсь, что есть способ просто по-разному охватить эти переменные или отключить общий доступ между сессиями. Заранее спасибо!