Wcf 消息队列在几个月后失败

Wcf 消息队列在几个月后失败,wcf,msmq,netmsmqbinding,Wcf,Msmq,Netmsmqbinding,前几天我们在MSMQ上遇到了一个问题,我正在努力了解到底发生了什么 我们有大约10个相互发送消息的服务。一些使用WCF,另一些直接使用System.Messaging 在某个时刻,不再发送一条消息,所有日志都将充满 “资源不足,无法执行此操作” 消息小于4MB,并且已经工作了好几个月,因此消息大小不是问题 进一步查看msmq\storage文件夹,其中有1.07 GB的消息文件,其中950 MB是以“j”开头的文件 j0002f0e.mq j0002f0f.mq等 这些消息表示日志文件,事实上,

前几天我们在MSMQ上遇到了一个问题,我正在努力了解到底发生了什么

我们有大约10个相互发送消息的服务。一些使用WCF,另一些直接使用System.Messaging

在某个时刻,不再发送一条消息,所有日志都将充满

“资源不足,无法执行此操作”

消息小于4MB,并且已经工作了好几个月,因此消息大小不是问题

进一步查看msmq\storage文件夹,其中有1.07 GB的消息文件,其中950 MB是以“j”开头的文件

j0002f0e.mq j0002f0f.mq等

这些消息表示日志文件,事实上,每天发送数千条消息的一个(WCF)服务启用了useSourceJournal。所有这些文件的大小都是4MB,最大值都包含过去的多个队列消息

这可能是原因吗?日志消息堆积时是否有1GB的限制,并且MSMQ在资源不足的情况下开始失败


日志队列是否应每隔一段时间清除一次,以便存储文件夹(几乎)为空?

日志消息与任何其他消息一样。它们会占用空间,直到应用程序对它们进行处理。它们不像系统在一段时间后清除的临时文件。其思想是,如果启用了日志记录(在消息或队列级别),那么消息就很重要,否则您就不会麻烦首先打开它。处理日志消息应该是应用程序的一部分(或者至少是正式维护过程的一部分)。日志记录有一个配额,就像普通消息一样


我认为它们确实是某种特殊的信息。谢谢你的信息