Я потратил оооочень много часов на это безумие.
У меня есть базовый класс страницы, который содержит функцию "setcookie", и это в основном так:
Dim context As HttpContext = System.Web.HttpContext.Current
If context.Request.Cookies(cookieName) Is Nothing Then
Dim cookie As HttpCookie
cookie.Value = cookieValue
cookie.Expires = DateTime.Now.AddDays(7)
context.Response.Cookies.Add(cookie)
Else
Dim cookie As HttpCookie = context.Request.Cookies(cookieName)
cookie.Expires = DateTime.Now.AddDays(7)
cookie.Value = cookieValue
End If
Эта функция вызывается простой страницей aspx.Поскольку это в тестовой среде, в используемом мной cookie-файле есть предыдущее значение «123».Если я использую окно отладки и наблюдения, я вижу, что значение успешно меняется на «168».
У меня есть точка останова отладки на строке, которая:
Response.Redirect("overview.aspx", False)
Когда разрывТочка активна, значения в окне просмотра:
currProjectID 168 Integer
HttpContext.Current.Request.Cookies("currProjectID").Value "168" String
(currProjectID - это свойство в классе базовой страницы, которое получает / устанавливает cookie с помощью функции выше)
Теперьво-вторых, я схожу с линии выше контрольной точки, используя «F10», значения переменной меняются!
HttpContext.Current.Request.Cookies("currProjectID").Value "123" String
currProjectID 123 Integer
Это безумие!Код не идет никуда, точка отладки находится сразу под строкой «response.redirect» выше, и все же значения немедленно изменились на то, что они были раньше!Ничто не сравнится с рутиной "setcookie", поэтому, пожалуйста, пожалуйста, кто-нибудь спасет мое безумие и скажет мне, что происходит не так!?