基于时间的收集和事件

本文关键字:事件 于时间 时间 | 更新日期: 2023-09-27 18:06:11

我想使用大容量插入每分钟向sql server批量插入一个集合内容。

我正在使用ConcurrentBag在内存中存储请求。

这样做的最佳实践是什么?或者How can this be done?

我知道我必须使用事件,我应该在另一个类中包装集合并实现过期吗?

如何使用事件来达到这个目的?

基于时间的收集和事件

我认为这个要求不够通用,实现这个的代码也很少,所以我个人认为没有必要创建一个单独的类。至少在包含类还不是太长和太复杂的情况下。然而,这或多或少是一个品味问题。

要实现您想要的效果,使用Timer类并在每个计时器刻度上枚举集合,在数据库中插入项目并同时从集合中删除它们就足够了。ConcurrentBag上的GetEnumerator在数据的快照上工作,因此在枚举时删除项是安全的。