问题标签 [msmq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
102430 浏览

msmq - 什么是 Microsoft 消息队列 (MSMQ)?它是如何工作的?

我需要使用 MSMQ(Microsoft 消息队列)。它是什么,它是做什么用的,它是如何工作的?它与网络服务有何不同?

0 投票
1 回答
792 浏览

msmq - 尝试安装 MSMQ 时出错

有VS-2003、VS-2005、VS-2008

尝试在添加/删除 Windows 组件中启用 MSMQ 并得到这个

'本地用户被认证为匿名用户并且不能访问活动目录。您需要以域用户身份登录才能访问 Active Directory。

我正在尝试在我的机器上进行开发并想设置一个私有 Q 以便我可以开发一个 MSMQ 应用程序。

这类似于这种情况:我在我的机器上作为管理员。我已登录 VPN 并尝试上述操作。

链接文本

0 投票
2 回答
5556 浏览

wcf - 在工作组模式下配置 WCF MSMQ

在尝试部署服务时,我发现它不会启动,因为 MSMQ 处于工作组模式。我创建了一个私有队列,并更改了配置文件以引用它,但 WCF 服务主机拒绝从以下消息开始:

绑定验证失败,因为绑定的 MsmqAuthenticationMode 属性设置为 WindowsDomain,但安装 MSMQ 时禁用了 Active Directory 集成。

谁能告诉我如何在配置文件中指定工作组模式?我在 MSDN 中找到的信息都是关于修改代码中的设置,并没有提到如何在配置文件中指定它。

在我拥有的配置文件中,绑定标记为空(<bindings />)但服务端点指定binding="netMsmqBinding"了我想这意味着默认配置正在使用中。

0 投票
4 回答
10671 浏览

.net - 删除单个消息 MSMQ

是否可以从 MSMQ 消息队列中删除单个消息?我有一个 Queue 对象,一个我通过偷看得到的消息(对象)和消息的 ID,我可以看到删除(或清除)整个队列的方法,但我看不到删除的方法消息是自己的,我已经尝试在通过偷看找到消息后接收消息,但我收到“光标无效”的错误

感激地收到任何帮助

0 投票
3 回答
4110 浏览

c# - 使用 C# 和 VS.NET 2005 延迟处理队列中的消息

这是队列的设置:

  1. 队列是公共的并标记为事务性的。
  2. Web 服务负责将消息插入队列。
  3. Windows 服务正在侦听队列

鉴于此,我怎样才能只处理至少 20 分钟前的消息?

0 投票
1 回答
798 浏览

msmq - 使用 Windows 服务侦听器读取私有队列

我正在尝试使用服务从本地系统中的私有队列中读取队列消息。我创建了读取队列并将状态更新到访问数据库的服务。我已经设置了服务,并且服务已启动并正在运行。我不知道如何在 asp.net 应用程序中使用该服务来读取队列。我应该创建一个 DLL 并引用它,它应该没问题吗?

0 投票
3 回答
4380 浏览

msmq - MessageReadPropertyFilter 在使用 MSMQ 时被重置

奇怪的一个。我们有一个多线程应用程序,它从 MSMQ 队列中提取消息,然后根据消息执行操作。所有这些都是使用 DTC 完成的。

有时,由于某种我无法描述的原因,我们在将消息从队列中拉出时会出现消息读取错误。

应用程序中使用的代码:

访问 currentMessage.Body 时,有时会引发异常:

System.InvalidOperationException:接收消息时未检索到属性正文。确保 PropertyFilter 设置正确。

现在 - 这只在某些时候发生 - 看起来好像队列上的 MessageReadPropertyFilter 的 Body 属性设置为 false。

至于它是怎么变成这样的,有点神秘。Body 属性是默认值之一,我们绝对不会将其显式设置为 false。

有没有其他人看到过这种行为或者知道为什么这个值被设置为假?

0 投票
1 回答
1599 浏览

architecture - MSMQ 与临时表转储

我知道以前有人问过这个问题。但是环顾四周,我仍然无法决定我应该走哪条路线。这是我的场景,希望你能帮忙:

我们将拥有一系列 Web 服务,这些服务将按计划被数百个移动应用程序访问。这些服务将在设备上提供数据,其中包含进入设备和从设备返回的新信息。从设备返回的数据将需要更新一个中央 SQL 服务器数据库,该数据库还为多个桌面应用程序和一个网站提供数据。

为了减少这些服务的请求/响应时间,我们决定在事后处理来自设备的数据,要么将它们粘贴在 MSMQ 实例中,要么将序列化对象存储在临时数据存储中并拥有Windows 服务稍后处理它们。

所以这是我的选择,但除此之外,还有一些可能会帮助你们给我建议的事情:

  • 从设备返回的数据不会以较小的消息包的形式返回,需要在服务器端订购。
  • 我对 MSMQ 一无所知,但我以前写过 Windows 服务。尽管如果需要,我可以毫无问题地选择 MSMQ。
  • 我想将设备的响应保留在某些地方,以防由于数据引起的某种原因处理失败。通过这种方式,我可以查询数据并查看是否存在问题,即设备允许用户添加评论,以扩展服务器端数据库中相关字段的长度。

有了这些信息,您认为值得我学习 MSMQ 还是我应该坚持使用更简单的解决方案?

克里斯。

0 投票
2 回答
167 浏览

windows-services - Microsoft 服务间通信问题

我目前正在构建两个 Windows 服务:

  • 第一个从互联网连接获取消息并将这些消息插入数据库。这是为了快速稳定而设计的,不做任何其他处理

  • 第二个对自上次运行以来到达的任何新消息执行批处理。

我正在尝试一种方法,以便第二个服务仅在准备好处理新消息时运行其批处理,并且如果第二个服务出错,则第一个服务将继续运行,反之亦然。目前它每 5 秒使用一次循环。

我目前正在考虑使用消息队列,其中第一个服务仅在队列为空时写入消息,第二个服务将查看队列是否包含任何消息,如果不进入异步等待直到消息到达然后删除消息并运行。因此,使用队列并不是真正的队列,而是作为一个二进制开关,当它的状态改变时会导致一个事件被触发到第二个服务。

我想有一种更好的方法可以做到这一点,我还没有遇到过有人可以指出我正确的方向吗?

0 投票
2 回答
4151 浏览

msmq - MSMQ 冗余

我正在研究 WCF/MSMQ。

有谁知道如何使用 MSMQ 处理冗余?我的理解是队列位于服务器上,但是如果服务器出现故障并且无法恢复怎么办,如何防止消息丢失?

关于这个主题的任何好文章?