現在、このアルゴリズムを持つコンソール アプリケーションがあります。
Peek を使用して MSMQ から消費する
MSMQ からメッセージを取得し、SQL 挿入ステートメントを実行します
挿入が成功した場合は、Receive() を使用して MSMQ からメッセージを取得します
上記を使用すると、MSMQ /sec (1 秒あたり 20 sql tx) から 20 個のメッセージが消費され、1 個の消費スレッドが使用されます。
ここで、MSMQ を消費するスレッドを増やしたいと思いますが、peek を使用すると、メッセージが 1 回に対して 2 回挿入されることがわかりました。
Peek() を使用してメッセージを取得し、SQL ステートメントを最初に処理して、サーバーの電源が突然切れた場合に対処します。
Receive() を使用し、SQL ステートメントを実行しないと、データが失われます。
お知らせ下さい。