Переменная Session
связана с пользователем.Переменная Application
является общей для всех пользователей.
Application
- это удобное хранилище для хранения вещей, которые вы хотите сохранить, но вы не можете гарантировать, что они всегда будут там.Поэтому подумайте о низком уровне кэширования, кратковременном хранении переменных и т. Д.
В этом контексте с этими определениями они имеют очень мало общего друг с другом, за исключением того, что получение и установка переменных примерно одинаковы для каждого.
Примечание: могут возникнуть проблемы с параллелизмом при использовании Application
(потому что вы можете легко сделать так, чтобы несколько пользователей ударили что-то, что читает или пишет в него), поэтому я предлагаю вам использовать Application.Lock
перед тем, как написать, и Application.Unlock
после того, как вы закончите.Это действительно относится только к письму.
Примечание 2: Я не уверен, автоматически ли оно разблокируется после выполнения запроса (это было бы разумно), но я бы не стал доверять,Убедитесь, что любая часть приложения, которая может быть взорвана, не находится в пределах блокировки, иначе вы можете столкнуться с блокировкой других пользователей.
Примечание 3: В том же духе, непоместить в блокировку вещи, которые долго обрабатываются, только бит, в который вы записываете данные.Если вы делаете что-то, что занимает 10 секунд, находясь в замке, вы блокируете всех остальных.