C# 我将azure与多个web角色和一个缓存服务器一起使用。当我更改对象中的属性时,缓存对象是否会在缓存服务器中自动更新

C# 我将azure与多个web角色和一个缓存服务器一起使用。当我更改对象中的属性时,缓存对象是否会在缓存服务器中自动更新,c#,caching,azure,C#,Caching,Azure,我有这个密码 Microsoft.ApplicationServer.Caching.DataCache cache; ... User user = (User)cache["cacheKey"]; user.Name = "NewUserName"; 缓存的用户对象是否会自动更新?或者我需要调用清除缓存并将新值放入缓存 它是否会应用于所有web角色,或者可能我做错了什么。我需要能够编辑缓存对象,并且此更改应应用于azure web角色查看MSDN后,我相信用户将是缓

我有这个密码

    Microsoft.ApplicationServer.Caching.DataCache cache;
...
    User user = (User)cache["cacheKey"];
    user.Name = "NewUserName";
缓存的用户对象是否会自动更新?或者我需要调用清除缓存并将新值放入缓存

它是否会应用于所有web角色,或者可能我做错了什么。我需要能够编辑缓存对象,并且此更改应应用于azure web角色

查看MSDN后,我相信
用户
将是缓存对象的反序列化,实际上是您的本地克隆

因此,不会更新实际缓存的对象。进行更改后,必须更新缓存对象。使用

cache.Put("cacheKey", user);

查看MSDN后,我相信
user
将是缓存对象的反序列化,实际上是本地克隆

因此,不会更新实际缓存的对象。进行更改后,必须更新缓存对象。使用

cache.Put("cacheKey", user);


我想这取决于缓存管理器使用的缓存存储类型。如果它是内存中的缓存,那么我认为它可以不费吹灰之力地工作。
cacheManager
?那是什么?我已经更新了问题。我用DataCache@Sergey在之前的评论中,我删除了它,因为它更多的是基于我的猜测,而不是基于文档或实践经验,我问你为什么不尝试一下?@PLB,同意,我的答案仅基于文档,而不是一个相当简单的测试。我想这取决于缓存管理器使用的缓存存储类型。如果它是内存中的缓存,那么我认为它可以不费吹灰之力地工作。
cacheManager
?那是什么?我已经更新了问题。我用DataCache@Sergey在之前的评论中,我删除了它,因为它更多的是基于我的猜测,而不是基于文档或实践经验,我问你为什么不试试它?@PLB,同意,我的回答只是基于文档,而不是一个相当简单的测试。