失敗している MSMQ のカウントを取得するための呼び出しがあります。
いくつかの調査の後、私はこの質問を見つけました: ruby で MSMQ メッセージ数を読む
そこの答えは、キューが空でクローズされている場合、「パフォーマンスメトリック」(メッセージ数を含む)を取得できないことを示しています。
私の質問は、.NET と C# を使用して MSMQ をプログラムで「開く」(つまり「閉じる」) 方法を教えてください。
更新:関連する場合は、メッセージ数を取得するためのコードを次に示します。
private static int GetMessageCount(string queueName, string machine)
{
MSMQManagement queue = new MSMQManagement();
string formatName = @"DIRECT=OS:" + machine + @"\PRIVATE$\" + queueName;
queue.Init(machine, null, formatName);
return queue.MessageCount;
}
でエラーが発生しqueue.Init
ます。エラー メッセージは次のとおりです。「キューが開いていないか、存在しない可能性があります。」
このコードは、まったく同じように設定されている (ただし空ではない) 別のキューでも問題なく機能します。