我创建了可以从队列连接,发送或读取消息的应用程序。在这一刻,我想从队列中显示消息(不读取!)。你能帮我解决这个问题吗? 我尝试访问队列时应该使用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;
}
}
这是个好主意?
答案 0 :(得分:1)
好的,我解决了。 在我的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;
}
}