【发布时间】:2014-07-23 14:37:15
【问题描述】:
网络表单: 在网络农场环境中的网络表单(带有会话)状态应用程序中,会话存储在 SQL Server 存储中,网络农场中的所有服务器都可以访问该存储。这意味着登录用户的请求可以得到相同的会话,而不管它命中了场中的哪个服务器。
WebAPI: 我知道 webapi 在设计上是无状态的,所以对于真正的 webapi 应用程序,我不需要担心如何维护状态等。通常身份验证令牌在请求之间传递,只要它有效,登录就可以访问它需要的任何资源在服务器上。这对于一个托管 webapi 的 Web 服务器来说很好。但是网络农场呢? “Session”(或 Webapi 中的等效术语)在 WebApi 场中是如何管理的?
我知道 azure 提供了以下选项来命名少数几个.. Azure SQL 服务器 Azure 表存储/队列 缓存服务
它们似乎给架构增加了额外的复杂性(这在使用 SQL Server Session 的 WebForm 中要容易得多)。
另一个稍微不同的问题(可能有点基本)是如何在 webapi 场中跟踪请求/响应?即当客户端向 webapi 发出请求并且 webapi 发送异步响应时,服务器如何确保其追溯到客户端?
编辑: 我不是要实现 Session is Webapi,而是如何在没有会话状态的 webapi 中实现同样的事情。
谢谢
【问题讨论】:
标签: session azure asp.net-web-api webforms web-farm