问题标签 [system.messaging]

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 投票
2 回答
2352 浏览

c# - 将 GAC 引用添加到 VS2008 项目时出现问题

好的,所以这不是严格意义上的编程问题,而是与编程相关的问题。

我有一个 C# winforms 项目,我正在尝试添加对 System.Messaging dll 的引用。

但是,当我添加引用时(从“添加引用”对话框的 .net 选项卡),它会显示黄色感叹号警告。

右键单击其他引用将允许我在对象浏览器中查看它们。右键单击 System.Messaging 引用不会。

不过,这里是踢球者......如果我单击另一个引用并滚动浏览对象浏览器中的列表,我可以看到 System.Messaging 条目。

到目前为止,我尝试了多种方法来解决此问题,包括使用 gacutil 在 GAC 中强制重新安装 dll,但它仍然无法正常工作。

有没有人对如何解决这个问题有任何建议?如果我需要提供更多信息,请在评论中留下具体的信息请求。

笔记。操作系统是Vista。

0 投票
5 回答
5697 浏览

.net - 使用 MSMQ - System.Messaging 与 WCF

我必须将 VB 6.0 应用程序移植到 VB.Net(框架 3.5)。该应用程序大量使用 MSMQ。我试图弄清楚使用 WCF 优于良好的 ole System.Messaging 有什么优势。与 System.Messaging 一起使用时是否有任何潜在的阻碍?

0 投票
5 回答
631 浏览

.net - .Net 用户消息系统

我想知道是否有 .NET 框架可以帮助我向用户发送消息。我希望能够将我所有的消息写入一个存储库。然后,我希望能够根据用户设置的偏好将这些消息发送给用户。例如,我希望能够通过电子邮件和短信向用户 A 发送通知 A,并通过 SMS 和 IM 向用户 B 发送通知 B。关于这样的东西是否存在或者我需要写它有什么想法吗?

0 投票
1 回答
647 浏览

.net - MessageQueue.Send 偶尔会因 InvalidOperationException、BadEnumerator 而失败

我有一个非 tx 队列,在一个进程中有一个接收器,还有一个 PowerShell 脚本,它使用 MessageQueue.Send(object, label) 方法将消息排入队列。有时我会在 PowerShell 脚本(发件人)中收到这个奇怪的错误:

我不明白 MessageEnumerator 如何参与发送部分?有什么线索吗?

接收部分(用 .net 编写的服务也使用 System.Messaging 与 MSMQ 交互)在一个 while 循环中完成其工作,在该循环中它执行 queue.Peek(1s timeout),然后调用 queue.Receive()。接收方记录所有 MSMQ 异常,但日志为空。所有错误都发生在发送 PowerShell 脚本中。

接收器是旧的已知工作代码,但脚本是新的且未经测试。在我的测试中,我没有在测试机器上发现任何错误,没有连接接收器。

在接收器连接的第一次拍摄中,对 MessageQueue.Send() 的一些调用导致了错误。

该脚本如下所示:

第二枪我尝试在每次迭代中处理队列实例,如果问题与未释放共享资源等有关:

该脚本如下所示:

错误仍然存​​在,但我相信它发生的频率较低。

我使用默认构造函数来创建队列实例,没有自定义 DefaultPropertiesToSend 或任何东西。消息是 XML 可序列化对象,产生大约 300 字节的消息正文。队列、发送者和接收者位于同一台机器上。

0 投票
0 回答
273 浏览

.net - System.Messaging.MessageQueue 和 MSMQ COM API 交互

在来自 Apress 的Pro MSMQ中,它在 p 上说。26,由相同服务类型 GUID 分组的队列可以通过使用“目录服务而不需要知道它们的物理位置的客户端应用程序来访问。这是一个很好的集群机制。”

白皮书表明 .NET MessaginQueueing API 比 COM API 更快。但是.NET 类显然没有 COM API 的查找功能。是否可以使用 COM 对象从服务器分配 GUID,并从客户端查找消息队列以用于集群目的,但在执行其他任何操作时切换到 .NET 对象,例如发送和读取消息?

0 投票
1 回答
1132 浏览

.net - MSMQ ReceiveByCorrelationID

我们有一个核心系统,它通过 MSMQ 与其客户端和其他内部系统异步通信。这是一个很好的选择,因为客户端是发送短信的手机,而其他系统具有 MQ 适配器。此外,这些通信过程默认情况下是异步的。

现在我们需要支持其他需要默认同步通信样式的系统。一个典型的例子是手持设备,它支持通过 HTTP 的 rpc 样式请求/响应通信。

有一个解决方案建议通过添加一个 HTTP“代理”/端点来支持这一点,它将从这些客户端收到的消息推送到具有相关 ID 的入站队列,然后在出站队列中查找具有相同相关 ID 的消息。希望消息的处理完成,具有预期相关 ID 的消息将出现在出站队列中。这将发生在将消息推送到核心系统以模拟请求响应的同一线程上。

但是,我们看到通过correlationId (MessageQueue.ReceiveByCorrelationId) 接收消息是性能杀手。真正减慢系统速度并不需要很多客户端线程。

我想问题是提出的设计,使用通过相关 ID 方法接收来模拟同步请求响应是这里的问题。在当前架构中,出站队列驻留在远程主机上,一直在阅读此内容以查看是否存在问题。

有没有人有任何其他方法来解决这个问题?我想合乎逻辑的事情是将消息从出站队列填充到数据库或来自单个接收进程的东西,然后搜索具有相应correlationId的消息

0 投票
2 回答
4033 浏览

c# - 如何将 msmq 消息移动到子队列

使用System.Messaging类,我如何将 msmq 消息(在本例中为有害消息)移动到子队列?

似乎这应该很简单,但我一直无法弄清楚。

0 投票
3 回答
4372 浏览

msmq - MSMQ:是否可以获取远程私有队列的消息计数?

我知道对此还有其他问题,但实际上并没有回答这个问题。

我的代码是:

当我在本地队列上尝试GetAllMessages()时,当然一切正常:

但是,当我在同一域上的远程计算机上尝试队列时,我可以仅使用计算机名成功 ping,我收到此错误:

我试过了:

所有这些都给了我同样的错误。

网络上的文档指出,如果您知道完整的“路径”,则可以找到私有队列。

这是真的?如果是这样,如何编译完整路径?

干杯

0 投票
1 回答
285 浏览

wcf - 是否可以在 serviceContract 中返回 System.Messaging.Message?

嘿,我在我的 WCF 服务中使用 httpBinding / netTcpBinding,我试图用 WCF 替换一些 .Net 远程处理代码。这是我将 .Net 远程处理方法转换为 WCF 服务合同时的第一次测试。我从字面上翻译了我的方法,旧代码使用 System.Messaging.Message 作为返回类型。

我的服务合同:

Everyting 构建,服务上升,但是当我浏览我的服务时,我收到以下错误:

System.InvalidOperationException:在调用 WSDL 导出扩展时引发异常:System.ServiceModel.Description.DataContractSerializerOperationBehavior 合同:http://..../ServiceContracts/2012/V1:IReaderContract ----> System.Runtime .Serialization.InvalidDataContractException:无法序列化类型“System.Messaging.MessageQueue”。

有没有办法返回 System.Messaging.Message?

非常感谢。

亲切的问候。

乔纳森

0 投票
1 回答
1851 浏览

powershell - 如何获取 MSMQ 私有队列的当前权限?

有人知道如何从 Powershell 中的 MSMQ 私有队列中读取用户\组访问权限吗?我想将此作为对安装 NServiceBus 服务的部署脚本的健全性检查,以确保服务用户在安装服务之前实际上具有对相应队列的读取权限。

从 System.Messaging.MessageQueue 类的文档看来,似乎有很多方法可以为队列设置权限,但没有方法可以获取权限。

任何帮助是极大的赞赏!

-杰克