草庐IT

c# - 有没有办法检查 MSMQ 队列中有多少消息?

我想知道是否有一种方法可以使用C#以编程方式检查私有(private)或公共(public)MSMQ中有多少消息?我有代码使用try/catch中包含的peek方法检查队列是否为空,但我从未见过任何关于显示队列中消息数量的代码。这对于监控队列是否正在备份非常有帮助。 最佳答案 您可以直接从.NET读取队列的性能计数器值:usingSystem.Diagnostics;//...varqueueCounter=newPerformanceCounter("MSMQQueue","MessagesinQueue",@"machinena

Microsoft Message Queue(MSMQ:微软消息队列)简介

一、前言最近在安装公司的一个产品时,接触到了MSMQ,在此对MSMQ做一个简单的介绍,以便各位能对它有一个快速、直观的认识。本文针对于MicrosoftMessageQueue,以下提到的消息队列均指代MicrosoftMessageQueue。二、消息队列简介2.1、消息队列是什么MSMQ是一个Windows上的功能。主要用于多个应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。2.2、消息队列的原理消息的发送者把自己想要发送的信息放入一个容器中,然后把它保存至一个系统共用空间的消息队列中,本地或者异地的消息接收程序再从该程

windows - 当队列本身为空时,为什么 MSMQ 的存储已满?

我的一个QA服务器已经有一段时间没有给我任何问题了,但它开始给我的应用程序错误,因为它们无法写入队列。MSMQ专门抛出一条消息说“资源不足,无法执行操作”。队列本身的检查表明它们是空的,每个队列有零条消息。检查限制表明我们将它们限制为每个1GB的存储空间。检查存储发生的目录说是的,那里有1GB的文件,因此没有更多资源是有道理的。但是,队列本身是空的。为什么它不清除旧文件?我在这里缺少什么设置?我认为他们会在重启时清空自己,但这也没有解决问题。 最佳答案 您是否在队列中启用了日志?如果是,您还限制了它们的大小吗?它位于队列“常规”选项

windows - 在 Windows Mobile 5.0 上使用 MSMQ 进行进程间(应用程序间)通信

我们有一个在WindowsMobile5设备上运行的原生嵌入式VC(EVC4.0)应用程序。现在需要让此应用程序与要使用EVC4.0或.NetCF开发的新移动应用程序对话。我们正在考虑在WindowsMobile设备上使用MSMQ在这两个应用程序之间进行进程间通信。以前有人因为这种原因使用过MSMQ吗?谢谢,-席德 最佳答案 WM_COPYDATA、套接字、内存映射文件和点对点消息队列都是CE的IPC机制(也可以使用命名良好的事件)。我倾向于倾向于点对点队列或内存映射文件。哪一个取决于我要共享的数据的性质。

队列中找不到的MSMQ毒药消息

在MSMQ队列中,已有中毒消息封闭了一个奇怪的问题。当检测到中毒消息时,我正在使用下面的代码来处理异常并将消息移至毒药队列,但是这会失败,因为即使我从抛出的异常中得到了fileslookupid,也找不到消息。请参阅下面的相关代码。publicboolHandleError(Exceptionerror){varpoisonException=errorasMsmqPoisonMessageException;if(null==poisonException)returnfalse;varlookupId=poisonException.MessageLookupId;varqueuePath

c++ - MSMQ - C++ 还是 COM?

我需要开始编写一些MSMQ代码,这些代码将与其他机器上的WCF代码交互。有MSMQ经验的人是否会就使用直接C++与使用COM的MSMQ的优缺点提出建议? 最佳答案 其实你不必决定。您可以组合。这是一个完整的发送/接收实现的代码示例。如果您改进了它,请告诉我...h文件:#pragmaonce#include//==========================================================================//MSMQWrapper-wrappestheCOMobjectusedto

iphone - iOS/iPad 的消息队列 - 类似于 MSMQ?

我有一个iPad应用程序可以在线和离线使用,但是当我离线时,一旦在线可用性再次成为一个选项,就需要进行网络服务调用。例子:一个新的客户端被添加到应用程序,这需要发送到网络服务,但由于我们处于离线状态,我们不想减慢用户的速度,所以我们让他们在本地添加并继续,但我们需要记住该调用需要在可能的情况下将其提供给Web服务。下订单等也是如此。是否可以设置某种队列,一旦我们建立连接就会触发? 最佳答案 我认为简单的操作不需要像MSMQ这样的重量级工具的开销。您可以使用CoreData,将托管对象与调用Web服务所需的数据持久化,并且仅在成功发布

tcp - MSMQ 适用于 TCP 还是 UDP?

我想知道MSMQ(MicrosoftMessagingQueue)在TCP或UDP上工作吗??在什么端口上? 最佳答案 此知识库文章详细介绍了使用的端口和协议(protocol):http://support.microsoft.com/default.aspx?scid=kb;EN-US;178517ThefollowingportsareusedforMicrosoftMessageQueuingoperations:TCP:1801RPC:135,2101*,2103*,2105*UDP:3527,1801Thefollowi

c# - Redis 队列与 MSMQ

很长一段时间我们都在使用msmq和redis队列(IRedisList)。几个月前,我们开始尝试redispub-sub。我们的应用程序有二十多个服务,这些服务从队列中读取消息或使用redis订阅channel。我们还有十多个队列,我们​​向他们发送消息。该应用程序是多线程的。那么我想从你这里得到什么?现在我们有一些时间来决定我们想要使用上面的哪种队列以及我们想要用不同类型的队列替换什么。我试图寻找有关MSMQVSRedis的帖子,但没有找到足够的信息。有人可以就此问题向我提出建议吗? 最佳答案 IMO,你想在这里比较苹果和橘子。M

c# - Windows 服务总线向 MSMQ 添加了什么?

我想对简单的发布/订阅架构做出明智的选择。所以我想知道:ServiceBus添加了什么MSMQ不能做的?服务总线的缺点是什么?谢谢你启发我! 最佳答案 主要的功能差异是服务总线为消息交换语义提供开箱即用的支持,例如通过发布-订阅进行基于主题的路由。另一方面,MSMQ是一种轻量级的存储转发队列系统,它支持点对点的单向消息传递。服务总线:依赖于SQLServer,并且是broker.Thismaybeconsideredadrawback.如果您正在研究pub-sub框架,那么目前流行的框架(在单线程模式下免费)是NServiceBus