0

我能够成功地使用 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>

有任何想法吗?

4

1 回答 1

0

修正:在发送方,定义格式化程序:msg.Formatter = new XmlMessageFormatter(new string[] { "System.String" }); 在合同上,用 knowntype 的字符串装饰它:[ServiceKnownType(typeof(String))]

于 2012-09-26T13:42:43.987 回答