【问题标题】:How do I save IBytesMessage to a file in IBM MQ using IBM.XMS for .NET Client如何使用 IBM.XMS for .NET Client 将 IBytesMessage 保存到 IBM MQ 中的文件
【发布时间】:2021-06-09 18:27:59
【问题描述】:

我正在使用 .Net C# IBM.XMS 库从 IBM MQ 获取消息。我可以接收消息 (IMessage),并且当它作为文本发送时,我能够获取消息并保存文件。我使用 .Text 属性。但是,如果它以 zip 格式发送,我不知道如何保存消息。我尝试查看是否可以获得 byte[] 正文并将其保存为文件。有什么建议吗?


 message = consumer.Receive(TIMEOUTTIME);
            if (message != null)
            {
                _log.LogInformation("Message received.");
                    var fileName = _fileUtil.GenerateFileName(_queueName);

                    int receivedBytes = 0;
                    if (message is ITextMessage)
                    {
                        var msg = (ITextMessage)message;
                        var result = msg.Text;

                    }
                    else if (message is IBytesMessage)
                    {
                        var msg = (IBytesMessage)message; 
                        byte[] result = msg...
                        (how to get the bodys byte array)
                        ...
                        File.WriteAllBytes(filepath, result);   
                  
                    }

【问题讨论】:

    标签: .net file ibm-mq


    【解决方案1】:

    您可以使用ReadBytes 方法读取消息负载。

    Int32   ReadBytes(Byte[] array, Int32 length);  
    

    从光标当前位置开始从字节消息流中读取字节数组。该方法返回读取到您传递的缓冲区的字节数。

    【讨论】:

      猜你喜欢
      • 2021-08-02
      • 2020-05-23
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2018-02-08
      • 1970-01-01
      • 2020-05-13
      相关资源
      最近更新 更多