3

私は現在、C# で MSMQ を使用してバッチ処理アプリケーションに取り組んでいます。アプリケーションの設計では、.xml を使用した XML メッセージを含むエラー キューがありますActiveXFormatter。これらのエラー メッセージをテキスト ファイルまたはデータベース テーブルに書き込むアプリケーションを作成できることはわかっています。

メッセージをさまざまな形式 (テキスト ファイル、データベース テーブルなど) にエクスポートできる、事前に作成されたツールは他にありますか? 私はベストプラクティスを探しているだけです。

4

1 に答える 1

4

Ok。コードを書くという解決策は本当に簡単であることがわかりました。これが私の参照ソリューションです。

システムを使用する;
System.Collections.Generic の使用;
System.ComponentModel の使用;
System.Data の使用;
System.Drawing を使用します。
System.Linq を使用します。
System.Text を使用します。
System.Windows.Forms を使用します。
System.Messaging を使用します。

名前空間 ExportMSMQMessagesToFiles
{
    パブリック部分クラス frmMain : フォーム
    {
        public frmMain()
        {
            InitializeComponent();
        }

        private void btnExportTextFiles_Click(オブジェクト送信者, EventArgs e)
        {           
            //ユーザーからのパスを使用して MSMQ をセットアップします...
            MessageQueue q = 新しい MessageQueue(txtMSMQ.Text);

            // フォーマッタをセットアップ... 何でもいいですか!?
            q.Formatter = new ActiveXMessageFormatter();

            // すべてのメッセージをループしてファイルに書き込みます... (この場合は 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("すべて完了!");
        }
    }
}

于 2009-05-06T16:18:39.843 に答える