【问题标题】:WEB API session handling between 2 methods POST and GET两种方法 POST 和 GET 之间的 WEB API 会话处理
【发布时间】:2018-07-18 16:30:25
【问题描述】:

我正在尝试在 POST 方法中将模型数据保存在 HttpContext.Current.Session["TestModel"] 中,并尝试在 GET 方法中从 HttpContext.Current.Session["TestModel"] 中检索相同的模型数据。以下是我正在尝试的代码:

[HttpPost]
public async Task<HttpResponseMessage> UploadDataJson(HttpRequestMessage request)
{

    var session = HttpContext.Current.Session;
    OasisSessionModel oasissessionmodel = new OasisSessionModel(); //I tried setting it as a global
    oasissessionmodel.TotalRows = 200;
    HttpContext.Current.Session["TestModel"] = oasissessionmodel;
    return someresponse;
}

[HttpGet]
[Route("api/GetUploadUpdates")]
public IHttpActionResult GetUploadUpdates()
{
    var session = HttpContext.Current.Session;
    OasisSessionModel oasissessionmodel = null;
    oasissessionmodel = HttpContext.Current.Session["TestModel"] as OasisSessionModel;
    return Ok();
}

但是在这种情况下HttpContext.Current.Session["TestModel"] 总是null,有没有其他方法可以在 WEB API 中全局处理会话。提前致谢

【问题讨论】:

    标签: c# .net asp.net-web-api


    【解决方案1】:

    看看这个答案:link

    这可能是您的问题的解决方案,您是否使用 .NET 访问 API(MVC 等)?

    【讨论】:

    • 它是一个 .Net WEBAPI,我添加了 protected void Application_PostAuthorizeRequest() { System.Web.HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required); } 在 global.asax 中,但它仍然不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    相关资源
    最近更新 更多