- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在对 WCF 通过事务性 MSMQ(使用 netMsmqBinding)发送的消息似乎消失的问题进行故障排除。使用 WCF 的代码位于第三方程序集中,我无法更改。我对问题所在几乎没有任何线索,但计划启用各种跟踪功能,以便查明问题所在。
我已启用 MSMQ End-to-End Tracing 。它为发送的每条消息记录两个事件。
我已启用详细 WCF Tracing .
我还有应用程序级别的日志记录,用于记录由应用程序代码定义的消息 ID(我们称之为“应用程序消息 ID”)。
我已对发送的 MSMQ 消息启用正向和负向源日志记录。
我已在接收队列上启用日志功能。
当消息丢失时,我知道丢失消息的应用程序 ID(由发送方记录)。我现在想查看端到端跟踪以了解消息是否写入传出队列。
如何将端到端跟踪中的事件与应用程序级别日志和 WCF 跟踪相关联?
使用 System.Messaging 中的托管 MSMQ API 发送 MSMQ 消息时,消息的 MSMQ ID 在消息发送后可用。但是,我还没有找到在 WCF 执行发送操作时记录此信息的方法。 WCF 跟踪记录了一个 MSMQMessageId guid,但令人惊讶的是,该值并不是我猜测的实际 MSMQ id。 是否可以访问实际的 MSMQ 消息 ID 并记录它?
在应用程序日志中记录 native 线程 ID 以及应用程序级别 ID 和时间戳。 native 线程 ID 由 MSMQ 记录到端到端跟踪,因此这实际上可能足以进行关联。如果我找不到更优雅的解决方案,这对我来说是 B 计划。
最佳答案
听起来你走在正确的道路上。不过你可以用这个来提高一点:
使用SvcConfigEditor.exe
使用 LogEntireMessage
确保在双方(您的和第 3 方可执行文件)上启用这些 *.config。
收集日志文件,并将它们全部添加到 SvcTraceViewer.exe
关于wcf - 将 MSMQ 端到端跟踪与 WCF 跟踪和应用程序级别日志记录相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16025502/
我刚刚和一位 Microsoft MVP 聊天,他告诉我 MSMQ 已经过时了。这是真的?那么 SOA 的基础设施是什么??? 最佳答案 好吧,他们发布了一个带有 Vista 的新版本 (4.0),它
只是想确认如何将消息发送到远程事务性消息队列。 假设我有两台机器,A 和 B。 机器 A 有一个用于接收消息的事务队列。 Windows 服务监视此队列并对数据执行某些操作(将其保存到 SQL Ser
我一直看到documentation表示不可能发送到事务范围之外的远程事务 msmq 队列。我发现这很难相信,因为我认为我已经这样做了好几个星期了。我有一个小应用程序,它将消息发布到事务性的远程队列。
我正在使用 MSMQ 传输一个 byte 数组。 格式化程序是一个 BinaryMessageFormatter。 目标队列是私有(private)队列,我正在使用直接 TCP 通信。 目标机器在不同
有人可以为我指出一些关于为队列集群设置 MSMQ 的好资源吗?我有兴趣帮助: 实际设置集群MSMQ节点,并使其运行 设置应用程序以将消息发送到集群队列。 设置应用程序(至少 2 个)以从同一个集群队列
我是消息传递的新手,有点不清楚 MSMQ 是否可以为事务队列传递乱序消息。我想这一定是因为如果一条消息没有得到正确处理(并且因为我们将使用多个“竞争消费者”),那么其他消费者可以继续处理消息,同时将失
我们使用 BizTalk Server 通过 MSMQ 发送消息。接收系统要求每条消息都将扩展属性设置为 guid(作为字节数组)。 MSDN 记录了 MSMQMessage here 的 Exten
我正在做 NServiceBus 网站 ( http://docs.particular.net/samples/step-by-step/ ) 上的示例,当我在 Visual Studio 中运行时
我们有一个基于 NServiceBus 的 Pub/Sub 系统,我们有间歇性问题,消息无限期地卡在发布者传出队列上,而不是被传输到订阅者输入队列。 注意事项: 当我们重新启动发布者服务和订阅者服务时
当您向远程队列发送消息时,会在您自己的机器上创建一个临时传出队列。这是否意味着如果您自己的机器上没有安装MSMQ,您就不能使用远程队列? 最佳答案 你是对的。如果你自己的机器上没有安装 MSMQ,你就
我正在尝试使用以下路径连接到远程私有(private) MSMQ 队列: "FormatName:DIRECT=OS:remoteMachineName\Private$\MyQueue" 我收到以下
据我从文档中看到,您应该检查消息队列中是否有消息的方法是使用 Peek 方法。然后,您依靠它失败并返回 MessageQueueException 来告诉您队列为空。 public bool
我正在尝试使用主机文件中的别名指向包含 MSMQ 的服务器。如果我在 MSMQ 路径中指定实际服务器名称,则一切正常: var queue = new MessageQueue("FormatName
是否可以直接从队列中以字符串形式读取消息(与您在计算机管理 MSC 管理单元中查看 MSMQ 消息时看到的消息正文相同),以便我可以自己将其保存到数据库中?我希望能够存储它以便稍后重播而不会丢失任何数
有没有办法清除传出队列。似乎我无法使用 MMC 管理单元完成此操作,当我尝试在代码中清除它时出现错误 Format name is invalid将消息发送到的计算机不存在,因此它们永远不会被发送,但
有一个名为 queue1 的公共(public)队列在机器 A 上。我想从机器 B 向这个队列发送消息。为了实现这一点,我编写了那个 c# 代码。 if (MessageQueue.Exists("m
是否有某种标准配置设置、服务或工具可以接受来自一个队列的消息并将其移至另一个队列?自动处理死消息问题,并提供一些重试能力?我想这就是“MSMQ 消息路由”所做的事情,但似乎找不到有关它的文档(Wind
我正在尝试创建一个 MSMQ 解决方案,对于某些消息,我希望它们仅在下午 6 点之后处理,那么 MSMQ 中是否有一种方法可以在 Future 中处理该消息? 最佳答案 队列是一种先进先出的数据结构。
我们的系统中有许多 MSMQ 队列,包括私有(private)队列和公共(public)队列。有时,从队列中读取的 Windows 服务会崩溃,因此消息会在该队列中堆积。一旦队列达到一定大小(可能是
我们在使用 NServiceBus 的负载平衡的高容量环境中遇到了 MSMQ 问题。 我们的环境如下所示: 1 F5 通过循环分配网络流量到 6 个应用服务器。这 6 个服务器中的每一个都使用一个 B
我是一名优秀的程序员,十分优秀!