【发布时间】:2014-06-20 01:53:21
【问题描述】:
我只需要在会话中通过 web-api 向用户发送一次信息,我以前在 asmx 中通过在会话中存储一个变量来完成。
在 web-api 中我不能使用会话,我该怎么做?
【问题讨论】:
我只需要在会话中通过 web-api 向用户发送一次信息,我以前在 asmx 中通过在会话中存储一个变量来完成。
在 web-api 中我不能使用会话,我该怎么做?
【问题讨论】:
开始是评论,但最后太长了...
ASP.NET Web API 主要用于创建 HTTP 服务,正如 Microsoft 所声称的,ASP.NET Web API 是在 .NET Framework 上构建 RESTful 应用程序的理想平台。此类服务是无状态的,因此您尝试做的是技术上违背了一个非常基本的设计目标。话虽如此,事情并不像看起来那么明确,关于 REST 服务是否应该是无状态的或在某种程度上允许状态存在一些(几乎是宗教性的)争论。
以下 SO 问题可能会为您提供一些帮助和/或指导来实现您想要的目标:
此外,以下 StrathWeb 文章提供了一些额外的建议(带有代码示例)和其他信息来源的链接:
在我目前正在进行的一个项目中,我必须为基于令牌的用户身份验证存储一些状态信息,并且由于我可以访问数据库,因此我使用一个表来存储我需要的信息。从技术上讲,当然对于某些人来说,我违反了规则。但这对我有用,归根结底,你有工作要做,而且你可能并不总是有时间 100% 正确地做事,所以你的方法必须务实。
【讨论】: