c# - 如何保存可以在 azure 友好的解决方案中的任何位置调用的单个变量?

标签 c# asp.net-mvc azure

起初我传递了一个 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/

相关文章:

c# - 使用c#移动到excel中下一行的下一个单元格

c# - 在 wp7 上使用 mvvm light 进行条件绑定(bind)

javascript - 在 switch 语句中使用 ViewBag

asp.net-mvc - 如何使用 IoC、DI 和 MVC 连接 View 模型上的列表/集合?

c# - asp.net单元测试: Mark test as incomplete

azure - AzCopy - 在带有 $(美元符号)的位置中断

c# - LINQ - 遍历二维数组的行

c# - 可为空的引用类型和构造函数警告

powershell - Azure 外部负载均衡器 - 使用 PowerShell 添加 LB 规则

Azure 本地开发设置 - 缓存、队列、documentdb