簡體   English   中英

是否有一個工具允許從消息隊列(MSMQ)輕松導出消息?

[英]Is there a tool that allows easy exporting of messages from a message queue (MSMQ)?

我目前正在使用C#中的MSMQ進行批處理應用程序。 在應用程序設計中,我有一個包含使用ActiveXFormatter XML消息的錯誤隊列。 我知道我可以編寫一個應用程序來將這些錯誤消息寫入文本文件或數據庫表。

是否有其他預先構建的工具可用於將消息導出為各種格式(即文本文件,數據庫表等)? 我只是在尋找最佳實踐。

好。 我發現編寫代碼的解決方案非常簡單。 這是我的參考解決方案。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Messaging;

namespace ExportMSMQMessagesToFiles
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
        }

        private void btnExportTextFiles_Click(object sender, EventArgs e)
        {           
            //Setup MSMQ using path from user...
            MessageQueue q = new MessageQueue(txtMSMQ.Text);

            //Setup formatter... Whatever you want!?
            q.Formatter = new ActiveXMessageFormatter();

            // Loop over all messages and write them to a file... (in this case XML)
            MessageEnumerator msgEnum = q.GetMessageEnumerator2();
            int k = 0;
            while (msgEnum.MoveNext())
            {
                System.Messaging.Message msg = msgEnum.Current;                                
                string fileName = this.txtFileLocation.Text + "\\" + k + ".xml";                
                System.IO.File.WriteAllText(fileName, msg.Body.ToString());
                k++;
            }

            MessageBox.Show("All done!");
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM