基本信息
源码名称:c# mq queue收发实例
源码大小:1.45M
文件格式:.zip
开发语言:C#
更新时间:2019-12-19
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
c# mq queue收发实例,缺少相关数据库脚本,但是可以参考其思路
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Apache.NMS;
using Apache.NMS.ActiveMQ;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.SqlClient;
namespace mqConsumer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
InitConsumer();
}
public string strconn = System.Configuration.ConfigurationSettings.AppSettings["dsn"];
public void InitConsumer()
{
//创建连接工厂
IConnectionFactory factory = new ConnectionFactory(textBox1.Text );
//通过工厂构建连接
IConnection connection = factory.CreateConnection();
//这个是连接的客户端名称标识
connection.ClientId = "firstQueueListener";
//启动连接,监听的话要主动启动连接
connection.Start();
//通过连接创建一个会话
ISession session = connection.CreateSession();
//通过会话创建一个消费者,这里就是Queue这种会话类型的监听参数设置
// IMessageConsumer consumer = session.CreateConsumer(new Apache.NMS.ActiveMQ.Commands.ActiveMQQueue("firstQueue"), "filter='demo'");
IMessageConsumer consumer = session.CreateConsumer(new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("bizInfTopic"), "firstQueueListener" );
//注册监听事件
consumer.Listener = new MessageListener(consumer_Listener);
//connection.Stop();
//connection.Close();
}
void consumer_Listener(IMessage message)
{
ITextMessage msg = (ITextMessage)message;
//异步调用下,否则无法回归主线程
tbReceiveMessage.Invoke(new DelegateRevMessage(RevMessage), msg);
}
public delegate void DelegateRevMessage(ITextMessage message);
public void RevMessage(ITextMessage message)
{
tbReceiveMessage.Text = string.Format(@"接收到:{0}{1}", message.Text, Environment.NewLine);
{ return; }
c# mq queue收发实例,缺少相关数据库脚本,但是可以参考其思路
消费端:
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Apache.NMS;
using Apache.NMS.ActiveMQ;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.SqlClient;
namespace mqConsumer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
InitConsumer();
}
public string strconn = System.Configuration.ConfigurationSettings.AppSettings["dsn"];
public void InitConsumer()
{
//创建连接工厂
IConnectionFactory factory = new ConnectionFactory(textBox1.Text );
//通过工厂构建连接
IConnection connection = factory.CreateConnection();
//这个是连接的客户端名称标识
connection.ClientId = "firstQueueListener";
//启动连接,监听的话要主动启动连接
connection.Start();
//通过连接创建一个会话
ISession session = connection.CreateSession();
//通过会话创建一个消费者,这里就是Queue这种会话类型的监听参数设置
// IMessageConsumer consumer = session.CreateConsumer(new Apache.NMS.ActiveMQ.Commands.ActiveMQQueue("firstQueue"), "filter='demo'");
IMessageConsumer consumer = session.CreateConsumer(new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("bizInfTopic"), "firstQueueListener" );
//注册监听事件
consumer.Listener = new MessageListener(consumer_Listener);
//connection.Stop();
//connection.Close();
}
void consumer_Listener(IMessage message)
{
ITextMessage msg = (ITextMessage)message;
//异步调用下,否则无法回归主线程
tbReceiveMessage.Invoke(new DelegateRevMessage(RevMessage), msg);
}
public delegate void DelegateRevMessage(ITextMessage message);
public void RevMessage(ITextMessage message)
{
tbReceiveMessage.Text = string.Format(@"接收到:{0}{1}", message.Text, Environment.NewLine);
{ return; }