我能够成功地使用MSDN示例向MSMQ发送消息并从自托管WCF服务读取消息。
我试图在新项目中使用一个简单的字符串。我可以将字符串发送到队列没有问题,但WCF服务托管,故障。
在尝试找出原因后,使用Microsoft服务跟踪查看器并启用主机登录,它说它是一个有毒的消息!
但我的合约定义了MsmqMessage
这是我用来发送的内容:
System.Messaging.Message msg = new System.Messaging.Message(this.textBox1.Text);
这是我的合同(收到):
[OperationContract(IsOneWay = true, Action = "*")] void
ProcessIncomingMessage(MsmqMessage<string> incomingMessage);
通过MMC查看时的消息内容:
<?xml version="1.0"?>
<string>test</string>
任何想法?
答案 0 :(得分:0)
修正:在发件人上,定义格式化程序:msg.Formatter = new XmlMessageFormatter(new string [] {“System.String”});在合同上,用一个知道的字符串来装饰它:[ServiceKnownType(typeof(String))]