2012-08-27 97 views
1

我从MessageQueue接收到我的消息。 下面是代码:如何接收来自MessageQueue的消息

MyClass myClassObject = null; 
var msmq = new MessageQueue(@".\private$\myqueuename") 
         {Formatter = new XmlMessageFormatter(new Type[] {typeof (MyClass)})}; 
var receive = msmq.Receive(new TimeSpan(20000000000)); 

      if (receive != null) 
      { 
       myClassObject = (MyClass)receive.Body; 

      } 

我在myClassObject到底希望拥有的数据。

[DataContract] 
    public class 
      MyClass 
    { 

     [DataMember] 
     public long? Id 
     { 
      get; 
      set; 
     } 
..... 
    } 

我错过了什么? 非常感谢您提前!

+0

我得到这个错误:无法反序列化作为参数传递的消息。无法识别序列化格式。在System.Messaging.XmlMessageFormatter.Read(Message message) at System.Messaging.Message.get_Body() –

回答

0

我认为你需要验证客户端和服务器上的App.config文件。你写的异常表明这个消息的序列化格式可能不与你的绑定关联。

相关问题