我目前有一个具有此算法的控制台应用程序:
使用 Peek 从 MSMQ 消费
从 MSMQ 获取消息,执行 sql insert 语句
如果插入成功,则使用 Receive() 从 MSMQ 获取消息
使用上述方法会消耗来自 MSMQ /sec 的 20 条消息(每秒 20 条 sql tx),其中有 1 个消耗线程
现在,我想增加消耗 MSMQ 的线程,但是我发现消息被插入 2 次,而 1 次使用 peek。
我最初使用 Peek() 获取消息并处理 sql 语句以处理服务器突然断电的情况。
如果我使用 Receive() ,并且没有执行 sql 语句,这将导致数据丢失
请指教。