【问题标题】:asp.net msmq send request shows success but receives message late on msmqasp.net msmq 发送请求显示成功,但在 msmq 上接收消息较晚
【发布时间】:2017-07-17 16:38:07
【问题描述】:

我正在从 asp .net 应用程序向 msmq 发送数据,它发送成功,但在目标 msmq 接收消息需要时间(数据包接收,但并非总是但有时需要大约 5/10 分钟)

这是我用来向 msmq 发送数据的代码

MessageQueue queue = new MessageQueue("FormatName:Direct=TCP:my_ip\private$\msmqname_name");
queue.Formatter = new BinaryMessageFormatter(FormatterAssemblyStyle.Simple, FormatterTypeStyle.typesWhenNeeded);
System.Messaging.Message msg = new System.Messaging.Message();
msg.BodyStream = new MemoryStream(System.Text.ASCIIEncoding.ASCII.GetBytes("message"));
queue.send(msg,"LABEL");

注意:以上代码将数据发送到队列。但这需要时间(5/10 分钟)。这种行为不规律,有时会发生。 可能是什么原因?

【问题讨论】:

    标签: c# asp.net msmq


    【解决方案1】:

    “发送成功”仅表示消息已在传出队列中成功创建。然后,MSMQ 必须使用 My_IP 创建与机器的网络连接以传递消息。传出队列的状态显示连接是否建立。

    【讨论】:

    • 那么这背后的原因是什么?有网络问题吗?因为我无法确定延迟背后的原因。他们将延迟归咎于应用程序编码
    • 您需要收集数据以确定延迟是在发送应用程序、MSMQ-MSMQ 跨网络移动还是在接收应用程序。如果启用源和目标日志,您将获得显示消息何时在 MSMQ 中移动的时间戳数据。加上结束和接收应用程序生成的时间戳,图片应该会变得更清晰。性能监视器对于以图形方式显示队列使用情况非常有用。网络跟踪对机器之间的问题很有用,
    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 2010-11-14
    • 2011-08-13
    • 2016-06-24
    相关资源
    最近更新 更多