2009-05-06 2 views
3

현재 C#에서 MSMQ를 사용하여 일괄 처리 응용 프로그램을 작성하고 있습니다. 응용 프로그램 디자인에서 ActiveXFormatter을 사용하는 XML 메시지가 포함 된 오류 큐가 있습니다. 텍스트 파일이나 데이터베이스 테이블에 이러한 오류 메시지를 쓰는 응용 프로그램을 작성할 수 있다는 것을 알고 있습니다.메시지 대기열 (MSMQ)에서 메시지를 쉽게 내보낼 수있는 도구가 있습니까?

미리 작성된 개의 도구를 사용하여 다양한 형식 (예 : 텍스트 파일, 데이터베이스 테이블 등)으로 메시지를 내보낼 수 있습니까? 나는 다만 제일 연습을 찾고있다.

답변

4

확인. 나는 정말 쉬운 코드 작성 방법을 발견했다. 여기 내 참조 솔루션입니다.

 
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!"); 
     } 
    } 
} 

관련 문제