问题标签 [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.
msmq - 什么是 Microsoft 消息队列 (MSMQ)?它是如何工作的?
我需要使用 MSMQ(Microsoft 消息队列)。它是什么,它是做什么用的,它是如何工作的?它与网络服务有何不同?
msmq - 尝试安装 MSMQ 时出错
有VS-2003、VS-2005、VS-2008
尝试在添加/删除 Windows 组件中启用 MSMQ 并得到这个
'本地用户被认证为匿名用户并且不能访问活动目录。您需要以域用户身份登录才能访问 Active Directory。
我正在尝试在我的机器上进行开发并想设置一个私有 Q 以便我可以开发一个 MSMQ 应用程序。
这类似于这种情况:我在我的机器上作为管理员。我已登录 VPN 并尝试上述操作。
wcf - 在工作组模式下配置 WCF MSMQ
在尝试部署服务时,我发现它不会启动,因为 MSMQ 处于工作组模式。我创建了一个私有队列,并更改了配置文件以引用它,但 WCF 服务主机拒绝从以下消息开始:
绑定验证失败,因为绑定的 MsmqAuthenticationMode 属性设置为 WindowsDomain,但安装 MSMQ 时禁用了 Active Directory 集成。
谁能告诉我如何在配置文件中指定工作组模式?我在 MSDN 中找到的信息都是关于修改代码中的设置,并没有提到如何在配置文件中指定它。
在我拥有的配置文件中,绑定标记为空(<bindings />
)但服务端点指定binding="netMsmqBinding"
了我想这意味着默认配置正在使用中。
.net - 删除单个消息 MSMQ
是否可以从 MSMQ 消息队列中删除单个消息?我有一个 Queue 对象,一个我通过偷看得到的消息(对象)和消息的 ID,我可以看到删除(或清除)整个队列的方法,但我看不到删除的方法消息是自己的,我已经尝试在通过偷看找到消息后接收消息,但我收到“光标无效”的错误
感激地收到任何帮助
c# - 使用 C# 和 VS.NET 2005 延迟处理队列中的消息
这是队列的设置:
- 队列是公共的并标记为事务性的。
- Web 服务负责将消息插入队列。
- Windows 服务正在侦听队列
鉴于此,我怎样才能只处理至少 20 分钟前的消息?
msmq - 使用 Windows 服务侦听器读取私有队列
我正在尝试使用服务从本地系统中的私有队列中读取队列消息。我创建了读取队列并将状态更新到访问数据库的服务。我已经设置了服务,并且服务已启动并正在运行。我不知道如何在 asp.net 应用程序中使用该服务来读取队列。我应该创建一个 DLL 并引用它,它应该没问题吗?
msmq - MessageReadPropertyFilter 在使用 MSMQ 时被重置
奇怪的一个。我们有一个多线程应用程序,它从 MSMQ 队列中提取消息,然后根据消息执行操作。所有这些都是使用 DTC 完成的。
有时,由于某种我无法描述的原因,我们在将消息从队列中拉出时会出现消息读取错误。
应用程序中使用的代码:
访问 currentMessage.Body 时,有时会引发异常:
System.InvalidOperationException:接收消息时未检索到属性正文。确保 PropertyFilter 设置正确。
现在 - 这只在某些时候发生 - 看起来好像队列上的 MessageReadPropertyFilter 的 Body 属性设置为 false。
至于它是怎么变成这样的,有点神秘。Body 属性是默认值之一,我们绝对不会将其显式设置为 false。
有没有其他人看到过这种行为或者知道为什么这个值被设置为假?
architecture - MSMQ 与临时表转储
我知道以前有人问过这个问题。但是环顾四周,我仍然无法决定我应该走哪条路线。这是我的场景,希望你能帮忙:
我们将拥有一系列 Web 服务,这些服务将按计划被数百个移动应用程序访问。这些服务将在设备上提供数据,其中包含进入设备和从设备返回的新信息。从设备返回的数据将需要更新一个中央 SQL 服务器数据库,该数据库还为多个桌面应用程序和一个网站提供数据。
为了减少这些服务的请求/响应时间,我们决定在事后处理来自设备的数据,要么将它们粘贴在 MSMQ 实例中,要么将序列化对象存储在临时数据存储中并拥有Windows 服务稍后处理它们。
所以这是我的选择,但除此之外,还有一些可能会帮助你们给我建议的事情:
- 从设备返回的数据不会以较小的消息包的形式返回,需要在服务器端订购。
- 我对 MSMQ 一无所知,但我以前写过 Windows 服务。尽管如果需要,我可以毫无问题地选择 MSMQ。
- 我想将设备的响应保留在某些地方,以防由于数据引起的某种原因处理失败。通过这种方式,我可以查询数据并查看是否存在问题,即设备允许用户添加评论,以扩展服务器端数据库中相关字段的长度。
有了这些信息,您认为值得我学习 MSMQ 还是我应该坚持使用更简单的解决方案?
克里斯。
windows-services - Microsoft 服务间通信问题
我目前正在构建两个 Windows 服务:
第一个从互联网连接获取消息并将这些消息插入数据库。这是为了快速稳定而设计的,不做任何其他处理
第二个对自上次运行以来到达的任何新消息执行批处理。
我正在尝试一种方法,以便第二个服务仅在准备好处理新消息时运行其批处理,并且如果第二个服务出错,则第一个服务将继续运行,反之亦然。目前它每 5 秒使用一次循环。
我目前正在考虑使用消息队列,其中第一个服务仅在队列为空时写入消息,第二个服务将查看队列是否包含任何消息,如果不进入异步等待直到消息到达然后删除消息并运行。因此,使用队列并不是真正的队列,而是作为一个二进制开关,当它的状态改变时会导致一个事件被触发到第二个服务。
我想有一种更好的方法可以做到这一点,我还没有遇到过有人可以指出我正确的方向吗?
msmq - MSMQ 冗余
我正在研究 WCF/MSMQ。
有谁知道如何使用 MSMQ 处理冗余?我的理解是队列位于服务器上,但是如果服务器出现故障并且无法恢复怎么办,如何防止消息丢失?
关于这个主题的任何好文章?