【发布时间】:2011-04-13 04:02:17
【问题描述】:
我要将现有应用程序(单机)迁移到 Windows Azure。它存储在 HttpApplicationState 上。
是否能够跨 Web 角色实例共享应用程序对象?谢谢。
【问题讨论】:
-
HttpApplicationState 不在网络场或网络花园之间共享(同一台机器上的多个工作进程)。您能否更详细地描述您需要共享什么样的数据以及如何使用这些数据?
我要将现有应用程序(单机)迁移到 Windows Azure。它存储在 HttpApplicationState 上。
是否能够跨 Web 角色实例共享应用程序对象?谢谢。
【问题讨论】:
没有。如果您希望在 Web 角色中的实例之间共享状态,那么每个实例每次都需要引用一些公共数据存储(例如 SQL Azure 表)。当然你也必须小心并发问题。
【讨论】:
正如 Knightpfhor 所说,AppFabric Cache 是一种非常好的(且易于使用)服务,可用于跨多个实例进行共享。正如几天前在 MIX 上宣布的那样,它将在 4 月底正式上线。
您只需要管理对象生命周期和适当的缓存大小。
【讨论】:
添加到 David M - 您可以为 Azure AppFabric 缓存服务创建 ASP.NET 会话状态提供程序。 Windows azure 培训工具包中有一个示例:
【讨论】: