У меня есть корзина покупок, сохраненная в сеансе, которая уменьшает количество товаров, хранящихся в базе данных, когда пользователь нажимает кнопку покупки.
Если пользователь закрывает свой браузер до того, как заплатит, я хочу вернуть эти количества обратно в базу данных..
Я делаю это в событии void Session_End (отправитель объекта, EventArgs e) в global.asax, но количество элементов не увеличивается.Я установил время ожидания сеанса в 1 минуту в файле web.config, и сеанс действительно заканчивается, потому что, если я сижу там с полной корзиной покупок, она пуста через минуту, но количества в базе данных не обновляются.
это мой код в session_end
void Session_End(object sender, EventArgs e)
{
if (ShoppingCart.Instance.Items.Count == 0)
return;
foreach (var cartItem in ShoppingCart.Instance.Items.OfType<CartItemGeneric>())
{
var stock = thisModel.EshopItems.Where(i => i.Id == cartItem.Item.Id).First();
stock.SapQuantity += cartItem.Quantity;
thisModel.SaveChanges();
}
}