1、添加对 Apache.NMS 和Apache.NMS.ActiveMQ引用;
ActiveMQ .NET http://activemq.apache.org/nms/index.html
2、在webconfig中添加调用MQ所需的MQIP,MQName,MQUserName,MQPassword;
<appSettings>
<add key="MQIP" value="XX" />
<add key="MQName" value="XX" />
<add key="MQUsername" value="XX" />
<add key="MQPassword" value="XX" />
appSettings>3、创建一个通用的调用类。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Apache.NMS;
using Apache.NMS.ActiveMQ;
using Apache.NMS.ActiveMQ.Commands;
namespace Lee.Client

{
public class MQ
{
/**////
/// 发送消息
///
/// ip地址
/// mq名称
/// 用户名
/// 密码
/// 消息参数
/// 消息参数
public static void SendMessage(string mqIp, string mqName, string mqUsername, string mqPassword, string strParam, int intParam)
{
IConnectionFactory factory = new ConnectionFactory(new Uri("tcp://" + mqIp));
using (IConnection connection = factory.CreateConnection(mqUsername, mqPassword))
{
Console.WriteLine("创建一个连接!");
ISession session = connection.CreateSession();
ActiveMQQueue queue = (ActiveMQQueue)session.GetQueue(mqName);
IMessageProducer producer = session.CreateProducer(queue);
producer.Persistent = true;
// 发送消息
IMapMessage request = session.CreateMapMessage();
request.Body.SetString("strParam", strParam);//具体参数
request.Body.SetInt("intParam", intParam);
producer.Send(queue, request);
}
}
}
}
4、调用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Lee.Client

{
class Program
{
static void Main(string[] args)
{
string mqIp = System.Configuration.ConfigurationManager.AppSettings["MQIP"].ToString();
string mqName = System.Configuration.ConfigurationManager.AppSettings["MQName"].ToString();
string mqUsername = System.Configuration.ConfigurationManager.AppSettings["MQUserName"].ToString();
string mqPassword = System.Configuration.ConfigurationManager.AppSettings["MQPassword"].ToString();
MQ.SendMessage(mqIp, mqName, mqUsername, mqPassword,"字符型参数",0);
}
}
}