using System;
using IBM.WMQ;
class Program
{
static void Main(string[] args)
{
// 创建 MQ 连接工厂
MQQueueManager queueManager = null;
try
{
// 定义 MQ 环境属性
Hashtable mqEnvironment = new Hashtable();
mqEnvironment.Add(MQC.HOST_NAME_PROPERTY, "your.host.name");
mqEnvironment.Add(MQC.CHANNEL_PROPERTY, "YOUR.CHANNEL.NAME");
mqEnvironment.Add(MQC.PORT_PROPERTY, 1414);
mqEnvironment.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
// 创建队列管理器
queueManager = new MQQueueManager("YOUR.QUEUE.MANAGER.NAME", mqEnvironment);
// 打开队列
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;
MQQueue queue = queueManager.AccessQueue("YOUR.QUEUE.NAME", openOptions);
// 发送消息
MQMessage helloWorld = new MQMessage();
helloWorld.WriteString("Hello, World!");
MQPutMessageOptions pmo = new MQPutMessageOptions();
queue.Put(helloWorld, pmo);
// 接收消息
MQMessage receivedMessage = new MQMessage();
MQGetMessageOptions gmo = new MQGetMessageOptions();
queue.Get(receivedMessage, gmo);
string messageText = receivedMessage.ReadString(receivedMessage.MessageLength);
Console.WriteLine("Received message: " + messageText);
// 关闭队列和队列管理器
queue.Close();
queueManager.Disconnect();
}
catch (MQException ex)
{
Console.WriteLine("An MQ error occurred: {0}", ex.ToString());
}
catch (System.Exception ex)
{
Console.WriteLine("A System error occurred: {0}", ex.ToString());
}
finally
{
if (queueManager != null)
{
queueManager.Disconnect();
}
}
}
}
这段代码展示了如何使用 C# 与 IBM MQ(以前称为 WebSphere MQ)进行交互。以下是关键步骤的解释:
Hashtable 设置连接属性,如主机名、通道名称、端口号等。MQQueueManager 类连接到指定的队列管理器。AccessQueue 方法打开指定的队列,并设置打开选项(输入或输出)。MQMessage 对象并写入消息内容,然后使用 Put 方法将消息放入队列中。MQMessage 对象并使用 Get 方法从队列中获取消息。MQException 和 System.Exception 异常。请根据实际情况替换示例代码中的占位符(如 your.host.name、YOUR.CHANNEL.NAME 等)。
上一篇:c# sunnyui
下一篇:c# base64编码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站