服务端的MSMQ SendMessage实现

时间:2013-12-24 22:35:24

标签: c# asp.net wcf msmq

也许在MS世界中很明显,为了以防万一,道歉。本文有很多参考文献:MSMQ, WCF and IIS: getting them to play nicely (part 1 of 3)

我正在努力的是服务合同中唯一的方法是SendMessage。并且该方法的实现在服务端,而我希望客户端发送消息,并且服务通过监听器接收它们。这是否意味着一旦发现端点定义的队列中的消息,IIS / WAS / Net.MsmqListener(?)将调用SendMesage方法?

如果是这样,那么消息将作为字符串传递,而不是作为System.Messaging.Message的对象传递

public void SendMessage(string message)

我从客户端向此队列“发送”消息的方式大致如下:

 Message m = new Message();
 m.Recoverable = true;
 m.Body = myxmlargs.ToString();
 MessageQueue q = getQueue();
 q.Send(m);

1 个答案:

答案 0 :(得分:0)

我实现了我的实施,这是我在学习过程中学到的东西:

  • 由于服务名称是在合同中定义的,客户端实现发送它,服务器应该在接收时执行操作。这只是WCF paradigm
  • 使用手动方法向队列发送消息是错误的,服务器端不会将其识别为有效输入。让合同完成它的工作就可以了。