Концептуально у вас все должно быть в порядке. Даже в сценарии частичной обратной передачи (EG, AJAX), где вы можете ожидать условия гонки, вы должны быть в порядке. Состояние сеанса использует блокировку чтения / записи для обеспечения вашей безопасности.
Я склонен делать что-то похожее в моих проектах, хотя я фанат инкапсуляции действительных записей сеансов (ключей и т. Д.) В свойствах. Я считаю, что это делает код приложения более согласованным и, что более важно, исключает возможность опечатки в строке магического ключа, которая заставит приложение вести себя совершенно неожиданно.
Если вы делаете что-то похожее для состояния приложения, то вам необходимо убедиться, что вы заблокировали и разблокировали значения перед их установкой.