【问题标题】:Accessing Session object in ASP.Net Web Api 2在 ASP.Net Web Api 2 中访问 Session 对象
【发布时间】:2014-02-27 15:57:08
【问题描述】:

如何在 Web Api 2 控制器中使用 HttpContextSession

Session 对象为空,虽然我在 ASP.Net 的第一个版本的 Web Api 中看到了启用会话状态的各种方法,但这些方法似乎都不适用于 Web Api 2。

Web API 1 参考: Accessing Session Using ASP.NET Web API

我意识到这并不是每个人都同意的方法,但是在我正在开发的应用程序中拥有一个状态完整的 API 会很有用。

【问题讨论】:

  • REST 应该是无状态的。忘记会话
  • 我很欣赏这一点,但我并不追求 REST API。我正在寻求一种解决方法,以便我的 API 可以是状态完整的,并可以访问 ApiController 中的 Session,该 ApiController 已在应用程序的其他地方设置。在 Web Api 2 之前存在大量解决方法。

标签: c# asp.net session asp.net-mvc-5 asp.net-web-api2


【解决方案1】:

您可以创建有状态的 WebAPI,并且可以像在任何其他 Web 应用程序中一样维护会话。您唯一需要做的不同是握手以识别会话。

一个例子可以是生成会话并在 cookie 中设置会话 ID。然后每当客户端与服务器通信时,它都会附加 SessionID cookie。 APIController 中的 Session 处理可以通过创建自己的 BaseAPIController 来完成。

【讨论】:

    猜你喜欢
    • 2018-04-03
    • 2016-05-08
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多