起初我传递了一个 session 变量,但后来有人告诉我 azure 不支持它。有人还有其他建议吗?我只是保存登录用户的对象。
最佳答案
Azure 确实支持 session ,只是将 session 放置在单独的 Web 角色中效果不佳。例如,如果您想将应用程序扩展到 2、4 或 8 个服务器或保持高可用性,您将拥有一个负载均衡器,用于在不同服务器之间路由请求。因此,如果您有多个 Web 服务器,每个服务器在负载均衡器后面都有自己的用户 session ...您将会遇到问题,因为您可能有一个请求发送到没有 session 状态数据的 Web 角色(服务器)。
如果您想存储可供所有 Web 角色使用的单个变量...
- 分布式缓存(Azure 有几个选项)
- Azure 表存储(对于单个变量来说速度会很快)
- SQL Azure DB(对于单个变量来说可能有点过分)
以上所有选项都将允许多个 Azure Web 角色进行共享访问(读/写)。也有为 Azure 缓存和 SQL Azure DB 编写的 ASP.NET session 状态提供程序。相反,Azure 表存储是基于唯一键快速检索数据的真正不错的选择。
关于c# - 如何保存可以在 azure 友好的解决方案中的任何位置调用的单个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19236787/