在其他位置更新对象时触发会话更新

时间:2017-08-17 17:11:36

标签: c# asp.net session

我有一个自定义对象,在我的系统中的整个模块中多次引用。我将它称为CustomObj。为了最小化从DB继续加载此对象,我想将它存储在Session中的那些对象的集合中。所以我想存储一个CustomObj字典,其中key是CustomObj的ID。这样我就可以检查Session是否存在密钥,然后只是一遍又一遍地引用CustomObj,而不是每次都点击DB。

但是,管理员可以更新这些CustomObj,并更改其属性。当发生这种情况时,我想向连接的用户广播,以更新字典中的该对象以使用最新的属性。是否有内置的过程来执行此操作,或者我是否需要实现某种广播并通过SignalR强制更新(我已经为Facebook设置了集线器设置,如通知)。 Session是适合这个的地方吗?

对象不会经常更新或由不同的管理员更新,但管理员会偶尔更改1-5个属性,保存,对象现在不同。

1 个答案:

答案 0 :(得分:1)

这不是将对象存储在由不同用户修改的会话中的理想方式。在您的情况下,缓存应该是推荐的解决方案。