MSMQ关于死信队列

时间:2021-03-26 17:38:41
我现在想将发送失败的消息放到死信消息队列里!请各位大虾指点(最好有代码)!请提供关于死信队列更多的资料!谢谢!

10 个解决方案

#1


将QName设置为死信队列的名称不就可以了吗(猜的,有没有高手回答一下,学习中……)

#2


引用 1 楼 dz_huanbao 的回复:
将QName设置为死信队列的名称不就可以了吗(猜的,有没有高手回答一下,学习中……) 


能说的更详细一点吗?最好给段代码研究一下!

#3


参考
http://www.programfan.com/club/showpost.asp?id=17207
http://hi.baidu.com/az44yao/blog/item/eb465f9061396289a977a4e2.html
http://topic.csdn.net/t/20040207/10/2710351.html
http://blog.csdn.net/whispers/archive/2005/12/16/553640.aspx

#4



msmq消息队列使用及测试总结

//测试环境说明 
//1,发送与接收应用程序客户端:window2003 server, window2000 server,window xp; 
//2,msmq server :window2003 server +活动目录(已经为msmq消息队列的everynone帐户设置了所有权限)

//消息发送测试代码 
try 
   { 
    System.Messaging.MessageQueue Queue; 
    Queue = new System.Messaging.MessageQueue(@"FormatName:DIRECT=TCP:172.26.230.2\ptest1"); 
     
    System.Messaging.Message Msg; 
    Msg = new System.Messaging.Message(); 
    Msg.Formatter =new System.Messaging.BinaryMessageFormatter(); 
    Msg.Body="Testing 3 times"; 
    Queue.Send(Msg); 
   } 
   catch(Exception ex) 
   { 
    System.Windows.Forms.MessageBox.Show(ex.ToString()); 
   }  

//消息接收测试代码 
try 
   { 
    System.Messaging.MessageQueue mq = new System.Messaging.MessageQueue(@"FormatName:DIRECT=tcp:172.26.230.2\ptest1");

    // Set the queue'ss formatter to decode Point objects

    mq.Formatter = new System.Messaging.BinaryMessageFormatter(); 
    System.Messaging.Trustee trustee=new System.Messaging.Trustee(); 
     
    System.Messaging.Message msg = mq.Peek ( new TimeSpan(10000)) ;


    // Convert received message to object that we think was sent

    string pt = (string) msg.Body ;

    // Display it to the user 
     
    MessageBox.Show (pt) ; 
   } 
   catch(Exception ex) 
   { 
    MessageBox.Show(ex.ToString()); 
   }



#5


http://www.cnblogs.com/laiwen/archive/2006/12/21/599519.html

#6


楼上的各位大虾,我想知道的是关于死信队列的信息和资料!

#7


死信队列的信息和资料!
http://support.microsoft.com/kb/324099/zh-cn

还以为你写错了

#8


up

#9


未解决!请各位大虾继续现策。我就是想把发送失败的消息放到死信队列里。谁来救救我!

#10


路过帮顶...

#1


将QName设置为死信队列的名称不就可以了吗(猜的,有没有高手回答一下,学习中……)

#2


引用 1 楼 dz_huanbao 的回复:
将QName设置为死信队列的名称不就可以了吗(猜的,有没有高手回答一下,学习中……) 


能说的更详细一点吗?最好给段代码研究一下!

#3


参考
http://www.programfan.com/club/showpost.asp?id=17207
http://hi.baidu.com/az44yao/blog/item/eb465f9061396289a977a4e2.html
http://topic.csdn.net/t/20040207/10/2710351.html
http://blog.csdn.net/whispers/archive/2005/12/16/553640.aspx

#4



msmq消息队列使用及测试总结

//测试环境说明 
//1,发送与接收应用程序客户端:window2003 server, window2000 server,window xp; 
//2,msmq server :window2003 server +活动目录(已经为msmq消息队列的everynone帐户设置了所有权限)

//消息发送测试代码 
try 
   { 
    System.Messaging.MessageQueue Queue; 
    Queue = new System.Messaging.MessageQueue(@"FormatName:DIRECT=TCP:172.26.230.2\ptest1"); 
     
    System.Messaging.Message Msg; 
    Msg = new System.Messaging.Message(); 
    Msg.Formatter =new System.Messaging.BinaryMessageFormatter(); 
    Msg.Body="Testing 3 times"; 
    Queue.Send(Msg); 
   } 
   catch(Exception ex) 
   { 
    System.Windows.Forms.MessageBox.Show(ex.ToString()); 
   }  

//消息接收测试代码 
try 
   { 
    System.Messaging.MessageQueue mq = new System.Messaging.MessageQueue(@"FormatName:DIRECT=tcp:172.26.230.2\ptest1");

    // Set the queue'ss formatter to decode Point objects

    mq.Formatter = new System.Messaging.BinaryMessageFormatter(); 
    System.Messaging.Trustee trustee=new System.Messaging.Trustee(); 
     
    System.Messaging.Message msg = mq.Peek ( new TimeSpan(10000)) ;


    // Convert received message to object that we think was sent

    string pt = (string) msg.Body ;

    // Display it to the user 
     
    MessageBox.Show (pt) ; 
   } 
   catch(Exception ex) 
   { 
    MessageBox.Show(ex.ToString()); 
   }



#5


http://www.cnblogs.com/laiwen/archive/2006/12/21/599519.html

#6


楼上的各位大虾,我想知道的是关于死信队列的信息和资料!

#7


死信队列的信息和资料!
http://support.microsoft.com/kb/324099/zh-cn

还以为你写错了

#8


up

#9


未解决!请各位大虾继续现策。我就是想把发送失败的消息放到死信队列里。谁来救救我!

#10


路过帮顶...