【发布时间】:2012-05-04 19:21:22
【问题描述】:
我能够成功地使用 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>
有什么想法吗?
【问题讨论】:
-
固定:在发送方,定义格式化程序:msg.Formatter = new XmlMessageFormatter(new string[] { "System.String" });在合约上,用 knowntype 的字符串装饰它:[ServiceKnownType(typeof(String))]
标签: wcf