Рассмотрите возможность хранения ваших общих переменных в объекте HttpApplication или в объекте Cache.
Однако, если вы пытаетесь сохранить значения для каждого пользователя отдельно, вы должны сохранить эти значения в переменной Session.
Статические переменные внутри Asp.Net совместно используются в области памяти процесса w3svc.exe и НЕ являются поточно-ориентированными Они могут быть доступны и изменены любым пользователем приложения. Это может привести к нежелательным изменениям, если вы не напишите свой собственный механизм блокировки вокруг хранилища этих значений.
Вы должны попробовать такой синтаксис, как:
Application["KEY"] = value;
для хранения общих данных приложения и
Session["KEY"] = value;
для хранения данных для каждого пользователя
Вы можете использовать объект WebCache для хранения данных в памяти веб-сервера с условиями истечения срока действия. Синтаксис для этого выглядит примерно так:
Page.Cache.Insert("KEY", "VALUE", null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
Подробнее о синтаксисе управления объектом WebCache можно узнать по адресу:
http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx