Я создал простое приложение для корзины покупок. Нам нужно что-то конкретное для наших нужд, длинная история. В любом случае, я сохраняю объект корзины в файле cookie. Это отлично работает, но у меня проблемы с удалением файла cookie корзины из класса. Объект cart содержит коллекцию товаров (iList). Вот код, который я использую для удаления куки:
Код моей пустой корзины:
Dim currentCookie As HttpCookie = HttpContext.Current.Response.Cookies(cookieName)
currentCookie.Expires = DateTime.Now.AddYears(-30)
HttpContext.Current.Response.Cookies.Add(currentCookie)
Мой код LoadCartFromCookie:
if not HttpContext.Current.Request.Cookies(theCookieName) is nothing then
_cart = CType(HttpContext.Current.Request.Cookies(theCookieName).value,Cart)
End If
Мой конструктор класса корзины сначала пытается загрузить корзину из файла cookie. Если он находит cookie, он загружает объект корзины, в противном случае он создает новый экземпляр корзины без каких-либо подробностей. По какой-то причине, даже если я запускаю код удаления cookie (пустая корзина), а затем запускаю свой код LoadCartFromCookie (из класса Cart), он все равно загружает просроченный cookie. Какие-нибудь мысли? Я думал, что это может быть проблема с браузером, но я попробовал IE8, FF 3.5 и Chrome. Если внутри кодовой страницы и страницы ASPX я пытаюсь найти просроченный файл cookie (Request.Cookies (theName)), он никогда не найдет его. Именно это я и хочу сделать в классе.
Daniel