Сеансы
Сеансы сохраняются для каждого пользователя в памяти (или альтернативно Session-State ) на сервере. Сессии используют куки ( ключ сессии ), чтобы привязать пользователя к сессии. Это означает, что никакие «конфиденциальные» данные не сохраняются в куки на компьютере пользователя.
Сеансы обычно используются для поддержания состояния при навигации по веб-сайту. Тем не менее, они также могут быть использованы для хранения часто используемых объектов. Только если для состояния сеанса задано значение InProc, а для другого режима состояния сеанса объект также должен быть сериализуемым.
Session["userName"] = "EvilBoy";
if(Session["userName"] != null)
lblUserName.Text = Session["userName"].ToString();
печенье
Cookies хранятся для каждого пользователя на компьютере пользователя. Файл cookie - это, как правило, немного информации. Cookies обычно используются для простых пользовательских настроек цветовых предпочтений и т. Д. В cookie не должно храниться конфиденциальной информации.
Вы никогда не можете полностью полагать, что cookie не был подделан пользователем или внешним источником, однако, если безопасность представляет собой серьезную проблему, и вы должны использовать cookie, вы можете либо зашифровать свои cookie, либо настроить их передачу только по SSL , Пользователь может в любое время очистить свои куки-файлы или вообще не разрешать их использование, поэтому вы не можете рассчитывать на то, что они будут там только потому, что в прошлом пользователь посещал ваш сайт.
//add a username Cookie
Response.Cookies["userName"].Value = "EvilBoy";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(10);
//Can Limit a cookie to a certain Domain
Response.Cookies["domain"].Domain = "Stackoverflow.com";
//request a username cookie
if(Request.Cookies["userName"] != null)
lblUserName.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);
Sidenote
Стоит отметить, что ASP.NET также поддерживает cookieless state-management