ren*_*ren 2 c# cloud asp.net-mvc
class A
{
public static ConcurrentDictionary<string, MyClass> GlobalData
{
get;
private set;
}
...
}
Run Code Online (Sandbox Code Playgroud)
假设GlobalData用于保留一些全局数据,假设整个应用程序中只有一个副本.在云环境中部署时,这种假设是否安全,其中应用程序分布在少数"实例"上?如果是这样,那怎么办?我猜这同样适用于Session变量.
这是本地存储; 所以如果你有n个服务器,你将至少有n个实例.ConcurrentDictionary并不意味着它是单身,顺便说一句,它只是意味着它是线程安全的版本Dictionary.
如果您想拥有一个真正的全局实例,那么实现它的一种方法是创建一个管理对此全局数据的访问的Web服务.该服务将所有这些数据存储在内存中(然后只有一个服务实例)或单个数据库中.对其写入方法的访问将被序列化,以便只有一方可以在任何时间写入数据.
该服务的所有消费者都将访问相同的数据,因此数据实际上是全局的.
| 归档时间: |
|
| 查看次数: |
326 次 |
| 最近记录: |