c# - 显示来自 IBM MQ 的消息
问题描述
我创建了可以连接、发送或读取队列中的消息的应用程序。在这一刻,我想显示来自队列的消息(未读!)。你能帮我解决这个问题吗?当我尝试访问队列时,我应该使用 MQC.MQOO_BROWSE 参数吗?
我尝试了如下创建方法:
public ShowMessage ShowMessagesFromQueue(IRequiredParameters parameters)
{
ShowMessage queue;
try
{
queue = new ShowMessage(_manager.AccessQueue(parameters.QueueName, MQC.MQOO_INQUIRE | MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_BROWSE));
Console.WriteLine("Message from queue: ");
}
catch (MQException exp)
{
Console.WriteLine(exp.Message);
throw;
}
}
而且我不知道我应该如何在下面实现类:
public class ShowMessage
{
private MQQueue _queue;
public ShowMessage(MQQueue queue)
{
_queue = queue;
}
public string Show()
{
var message = new MQMessage();
try
{
return message.ReadString(message.(dontKnowWhatUseHere);
}
catch (MQException exp)
{
Console.WriteLine(exp.Message);
throw;
}
}
这是个好主意吗?
解决方案
好的,我解决了。在我的 Show 方法中,我必须添加更多选项,如下所示:
public void Show()
{
var message = new MQMessage();
try
{
var getMessageOptions = new MQGetMessageOptions();
getMessageOptions.Options = MQC.MQGMO_BROWSE_FIRST;
_queue.Get(message, getMessageOptions);
var msg = message.ReadString(message.MessageLength);
Console.WriteLine("Preview of message: " + msg);
}
catch (MQException exp)
{
Console.WriteLine(exp.Message);
throw;
}
}
推荐阅读
- azure - 如何使用自定义扩展脚本在虚拟机上安装软件
- javascript - 使用jQuery的HTML 5嵌套拖放
- c# - 如何在 C# windows 窗体中使用具有空格的字体来创建 excel 工作表?
- google-search-console - 为什么谷歌搜索控制台需要验证 dns txt?
- c - 制作一个二维数组,用户给出数组的大小 (n*n),数组填充随机数 [1-10] 而不使用 malloc
- flutter - 使用 Flutter 开发网页
- amazon-web-services - 如何使用工件在 AWS 管道中成功部署
- spring-batch - 搜索实际运行的 spring 批处理作业
- python - 在我的应用程序中使用 amazon alexa echo
- c# - 嵌套对象列表中的字典键