如何在asp.net核心中使用删除会话对象

问题描述 投票:0回答:1

我正在尝试删除会话中临时保存的产品列表,但不确定如何保存。基本上,我希望一旦用户按下取消订单按钮就可以删除产品列表。

这里是我最初设置会话对象的位置

public IActionResult OrderProduct(ProductViewModel productViewModel){

    List<Product> products = new List<Product>();
    ...
    HttpContext.Session.SetString("SessionProducts", JsonConvert.SerializeObject(products));
    ...
}

用户单击取消订单按钮后,我将其重定向到下面的HTTPGET Action方法。在这里,我希望能够删除会话对象,以便用户可以重新开始以创建新的产品订单。

public IActionResult UserMenu(){
    if (HttpContext.Session.GetString("SessionProducts") != null){

        HttpContext.Session.Remove("SessionProducts");
    }
    return View();
}

问题是HttpContext.Session.Remove("SessionProducts")没有按照我的预期去做。我知道这一点是因为当我尝试将数据库中的产品列表保留下来时,它既保留了应该删除的产品列表又保留了新产品。我如何正确地完成这项工作?

我正在尝试删除会话中临时保存的产品列表,但不确定如何保存。基本上,我希望一旦用户按下取消订单按钮就可以删除产品列表。 ...

c# asp.net-core-mvc session-cookies httpcontext
1个回答
0
投票

尝试使用Session.Clear()

© www.soinside.com 2019 - 2024. All rights reserved.