gpt4 book ai didi

c# - 向 Web API Controller 发出请求后 session 变量被重置

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:55 25 4
gpt4 key购买 nike

我按照答案 Enable session in Web Api 2 在 Web API 中使用 Session .但是我遇到了 session 变量的问题。

在业务对象类中,我有一个属性用于存储更改的记录。

public class BaseBO
{
protected HttpSessionState _session;

public BaseBO()
{
_session = HttpContext.Current.Session;
}

private IList<FundInvestor> _investors;
public IList<FundInvestor> Investors
{
get
{
_investors = (IList<FundInvestor>)_session["_investors"];
if (_investors == null)
{
_investors = new List<FundInvestor>();
_session["_investors"] = _investors;
}
return _investors;
}
set
{
_investors = value;
_session["_investors"] = value;
}
}
}

在客户端,当保存表单时,我向服务器发出了两个请求。首先,我使用已更改记录的列表调用 BaseBO 实例的方法 AddInvestorQueue。更改的记录将添加到 BaseBO 的列表 Investors 中。第二个请求,我调用方法 Edit,我将在其中获取列表 Investor 的元素并将这些记录更新到数据库。

我的问题是当我调用第二个请求时列表 Investors 没有任何元素。请注意,在第一个请求中将记录添加到 Investors 中。我不知道为什么要重置该列表。

当我使用 ASP.NET Web 窗体时,不会出现此问题。

有没有人遇到过类似的问题?我被这个问题困住了。任何建议对我都非常有帮助。非常感谢。

最佳答案

web api 中的 session 是无状态的。我会为您提供使用基于 token 的身份验证,您可以在 https://github.com/tb1998tb/token 查看(网络 API + 角度)。祝你好运!

关于c# - 向 Web API Controller 发出请求后 session 变量被重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34919867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com