问题标签 [msmq-wcf]

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 投票
1 回答
726 浏览

msmq - Windows Server 2008 上的 MSMQ

我以工作组模式在 Windows Server 2008 上安装了 MSMQ。我注意到只有一个私有队列并且缺少一个公共队列。这导致我无法从远程计算机发送消息。我看到传出队列中的消息。状态为“等待连接”,连接历史为“未报告失败”。

我有两个问题:

  1. 我可以以任何方式添加公共队列选项吗?

  2. 我应该怎么做才能将消息发送到远程计算机的私人队列?

(我使用 WCF。)

预先感谢!

0 投票
1 回答
926 浏览

asp.net - 一旦应用程序池被回收,Net.Msmq 绑定就不会在队列中提取消息

“当应用程序池“活动”时,服务会正确拾取消息,但一旦应用程序池被回收(由于超时或任何其他原因),服务就会停止拾取仅位于队列中的消息直到通过浏览服务网页再次启动服务”

您是否找到解决方案,无需手动浏览服务即可激活服务。

0 投票
0 回答
266 浏览

wcf - WCF 和 MSMQ - 转换消息正文丢失复杂参数

我正在尝试通过 WCF 和 MSMQ 发送消息,并在发送之前对消息内容应用转换。

我可以在客户端消息检查器的 BeforeSendRequest 事件中捕获消息,将消息作为 xml 获取并对其应用 Xslt 转换,该转换实质上替换了构建消息时为空的 soap 消息中的参数值。但是,当消息到达另一个端点时,即使我已尽力在消息中插入一个值,该参数仍然为空。

如果我对消息进行硬编码以包含预期的参数,所有这些都按预期工作,那么当我应用转换时,它只会“失败”并返回空值。不知道我是否在这里做一些根本错误的事情(我对这些主题中的大多数都是新手)或者我的肥皂 xml 是否只是错误的。

我查看了在对响应进行硬编码时创建的 xml,并将其用作转换的基础。我在进出时检查了消息,摆弄了命名空间并用谷歌搜索直到我被消灭...任何帮助将不胜感激!

这是转换后消息的正文部分..

在转换中,我从源消息中复制所有节点,并用上面显示的 xml 替换“clientOrderData”元素。

目标合同如下:

ClientOperationResult 的数据契约是:

请注意,OperationResult 是 Object 类型,在运行时我提供了一个字符串。不知道跟这个有没有关系?就像我说的那样,如果我提供一个硬编码的 ClientOperationResult,它就可以工作,但如果我尝试对转换做同样的事情,它就不行。

希望一切都清楚。谢谢,W

0 投票
0 回答
194 浏览

.net - WCF 订阅者随机停止从队列轮询消息

我使用的是 wondows 2008 标准操作系统。我们有私有队列,因为该消息是由另一个应用程序发布的。我们有 WCF 订阅者从私有队列轮询消息并传递到另一个系统......

一段时间后,WCF 订阅者(作为 Windows 服务安装)停止轮询来自队列的消息。当我关闭窗口服务时,我在 Windows 日志中收到错误错误是:-

块引用

未能停止服务。System.ServiceModel.CommunicationObjectFaultedException:通信对象 System.ServiceModel.ServiceHost 无法用于通信,因为它处于故障状态。在 System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout) 在 Microsoft.Samples.MSMQToWCF.SubscriberWindowsService.OnStop() 在 System.ServiceProcess.ServiceBase.DeferredStop()

我真的一无所知...我在我们的应用程序日志中看不到任何错误..即使我附加了从 IErrorHandler 派生的错误处理程序..但在那里看不到任何日志...因为它可能不是我们的例外代码....

我怀疑队列的侦听通道正在中断,因此订阅者已停止但服务仍在运行..如果是这种情况如何再次重置通道???

还有什么线索???

请帮我...

0 投票
1 回答
826 浏览

wcf - 长时间运行的 WCF MSMQ 处理

我正在阅读 Programming WCF Services 第三版。朱瓦尔·洛伊。在涵盖 NetMsmqBinding 的“队列服务”一章中,在第 473 页,他说“......您应该保持服务对队列调用的处理相对较短,否则有中止播放事务的风险。这里的一个重要观察是它是错误的将排队的呼叫与冗长的异步呼叫等同起来。”

1) 什么是短调用?2) 什么是长期运行的最佳实践;send 将它们发送到 ThreadPool?

这篇文章在实践中遇到了同样的问题: WCF & MSMQ & TransactionScope long process

我看了又看,在互联网上找不到任何关于这个问题的最佳实践。

3) 如果我没有交易,这条规则是否适用?

0 投票
1 回答
556 浏览

msmq - 如何在 MSMQ 中恢复已删除的系统文件

我不幸删除了MSMQ的系统文件,

现在我无法从队列发送和接收消息。

如何恢复被删除的文件?

0 投票
1 回答
1366 浏览

msmq - 如何接收 MSMQ 消息

什么是接收 MSMQ 消息的最佳方式。

我使用了以下代码,但是在收到 MSMQ 消息后没有在队列中删除

但我无法接收消息。

如何接收这些消息。

0 投票
1 回答
365 浏览

visual-studio-2010 - 尽管格式名称正确,但 msmq 不支持格式名称操作

我正在调试 wcf 服务。我有一个附加服务并与exe一起调试。在此过程中,使用字符串初始化队列时出现不支持的格式名称操作错误。但是,我很确定并仔细检查了字符串的语法是否正确,并且我拥有对队列的所有权限和访问权限。

任何想法表示赞赏。太谢谢了。

0 投票
0 回答
51 浏览

workflow - “netMsmqBinding”丢失消息

我有一个 WF4,它托管在 Windows 服务中并与 netMsmqBinding 一起使用。服务启动时一切正常。该服务读取私有队列并处理消息 okey。

问题是当 Windows 服务停止时,我执行客户端并将消息放入队列中。但是,当我随后启动 Windows 服务时,消息从队列中消失,但从未开始处理。如果我在服务启动的情况下将其他消息发送到队列,它会处理正常,但是当服务停止时,我会丢失所有进入队列的消息。

0 投票
1 回答
217 浏览

c# - 将事件数据发送到另一个表单时响应时间很慢

我有一个 C# winform 应用程序,它在屏幕上有 4 个不同的用户控件。这些用户控件中的每一个都包含一个 datagridview 控件。当用户在这 4 个控件中的任何一个中更新单元格值时,我会引发一个自定义事件,将单元格的值发送到屏幕上的第 5 个表单。

第 5 种形式与 Excel 电子表格非常相似。第 5 种形式必须显示在其窗格/窗口上发送的新值。问题不在于从 4 个用户控件中的任何一个发送数据,该控件有效并反映在第 5 个表单上。

但是,当引发发送数据的事件时,它会停止用户输入几秒钟。我认为第五种形式正忙于更新单元格。所以我的问题是,如果我实现一个消息队列或类似的东西(wcf)来将新值发送到电子表格(如控件),那么第 5 个控件是否会拾取数据(可能在应用程序空闲事件上)并且不会减慢最终用户输入4 个主控件中的任何一个,或者我只会看到相同的问题,因为表单都在同一个 UI 线程中运行。我确实做了一些测试,看看如果第五个控件从视图中隐藏起来是否更快,但我看到了相同的结果。我还做了一些时间检查,肯定是在我引发 Value_Changed 事件之后,系统变得非常慢。

关于如何处理和解决这个问题的任何想法?