Файлы cookie и переменные сеанса не зависят друг от друга. Вы можете быть сбиты с толку, потому что по умолчанию сеансы Asp.Net используют cookie для хранения идентификатора сеанса, а когда cookie отключены, Asp.Net помещает идентификатор сеанса в значение строки запроса, которое видно в URL.
Чтобы использовать куки, сделайте это
// Set the value in a response
Response.Cookies["SomeCookieVar"].Value = "SomethingImportant";
// After a post back read the value from the request
Request.Cookies["SomeCookieVar"].Value;
Переменные сеанса доступны следующим образом
// Set the value
Session["SomeSessionVar"] = "SomethingElse";
// Read the value
String SomeSetting = Session["SomeSessionVar"];
Предполагается, что вы работаете внутри C # и класса страниц ASPX. VB.Net имеет немного другой синтаксис, и обработчики и модули http требуют, чтобы вы проделали некоторую работу, чтобы добраться до Request, Response и Session.
И переменные сеанса, и значения файлов cookie могут быть смешаны и сопоставлены с содержанием вашего сердца без каких-либо конфликтов. Одним из распространенных сценариев является сохранение значений в файлах cookie, которые вы хотите сохранить в разных сеансах. Но для того, чтобы это работало, вы должны установить срок действия вашего cookie. Файлы cookie без истечения срока действия являются непостоянными и не сохраняются между сеансами браузера.
// make the cookie to last for a week
Request.Cookies["SomeCookieVar"].Expiration = DateTime.Now().AddDays(7);