Logging 如何接收由BinaryLogFormatter格式化的消息

Logging 如何接收由BinaryLogFormatter格式化的消息,logging,enterprise-library,msmq,Logging,Enterprise Library,Msmq,我正在使用MS模式和实践企业库MsmqTraceListener,使用BinaryLogFormatter将条目记录到私有队列中 我现在想从队列中读取这些日志条目。在查看message.Body之前,我需要设置MessageQueue的Formatter属性。我希望能够使用EnterpriseLibrary的BinaryLogFormatter,但我不能将其转换为IMessageFormatter。(无效卡斯特例外) 我遗漏了什么?你看过那张照片了吗?它可以做你想做的事。实现的简短指南: 如果不

我正在使用MS模式和实践企业库MsmqTraceListener,使用BinaryLogFormatter将条目记录到私有队列中

我现在想从队列中读取这些日志条目。在查看message.Body之前,我需要设置MessageQueue的Formatter属性。我希望能够使用EnterpriseLibrary的BinaryLogFormatter,但我不能将其转换为IMessageFormatter。(无效卡斯特例外)

我遗漏了什么?

你看过那张照片了吗?它可以做你想做的事。实现的简短指南:

如果不想使用完整分发服务器服务,请查看源代码,了解它们如何访问队列。看起来他们正在直接使用
BinaryLogFormatter
进行反序列化。发件人:


设置messageQueue时要确保包括以下内容。否则,反序列化将无法工作

((XmlMessageFormatter)messageQueue.Formatter).TargetTypeNames = new string[] { "System.String" };
一个腰围很大的下午,我在想这个问题

((XmlMessageFormatter)messageQueue.Formatter).TargetTypeNames = new string[] { "System.String" };