我的 ASP.NET MVC 4 项目使用 EF5 代码优先,并且一些域对象包含根据传入请求更新的非持久计数器属性。这些请求非常频繁地出现,并且很可能出现多个请求会话正在修改这些计数器的情况。
我的问题是,是否有最佳实践(不一定与 ASP.NET 或 EF 相关)来处理这种情况?我认为(但我不确定)为了讨论,我们可以将域对象视为简单的 POCO(它们就是)。
编辑:根据要求,以下是实际情况:
该系统是订户和内容管理系统。对等服务器正在发出我的系统授权或拒绝的请求。授权请求会导致在对等服务器中打开会话。当对等服务器中的会话关闭时,它会发出一个请求,通知会话已关闭。
我的系统需要提供统计信息——例如,每个内容项(域实体之一)当前打开的会话数——并提供实时数据以及每分钟、每小时、每天、每周等数据。
由于性能问题,无法通过查询数据库来提取这些数字,所以我决定在内存中实现基本计数器,每分钟将它们持久化到数据库中,然后从那里获取每小时、每天等数字.
上述问题源于每个对等服务器请求都会更新这些“计数器”。
我希望现在更清楚了。