RabbitMQ學習系列三:.net 環境下 C#程式碼訂閱 RabbitMQ 訊息並處理
上一篇已經講了Rabbitmq如何在Windows平臺安裝
不懂請移步: RabbitMQ學習系列二:.net 環境下 C#程式碼使用 RabbitMQ 訊息佇列
一、理論.net環境下,C#程式碼訂閱RabbitMQ訊息佇列,本文用easynetq開源的.net Rabbitmq api來實現,EasyNetQ 是一個易於使用的RabbitMQ的.Net客戶端API,本文win服務基於topshelf實現,不懂請移步:windowsSevice程式和topshelf程式建立服務對比
二、專案搭建
1、此處省略topshelf服務搭建步驟
2、服務專案結構
3、結構簡要說明
NoticeProcess.cs 獲取訊息體後處理類
BusBuilder.cs 訊息伺服器聯結器
Installer.cs 訊息服務安裝實現類
ServiceMain.cs 訊息服務執行類
VaultService.cs C#訂閱訊息服務後的處理類,進行routingkey的約束等
Program.cs 程式啟動類
三、測試釋出和訂閱
1、釋出訊息(此處省略,具體實現參照第二篇文章)
2、C#訂閱服務啟動測試
3、C#服務除錯獲取訊息
可以看到這裡啟動後,獲取到了1步驟當中的訊息routingkey
4、c#處理程式碼
如果佇列有其他的pcm.notice.xxxxx訊息,同樣會被c#服務獲取到,都是基於pcm.notice.#這樣的#完全匹配原則。
這樣基本簡單的c#訂閱Rabbitmq訊息,獲取資訊就完成了。
問題整理:
如果C#讀取的Rabbitmq中message訊息實體和你c#程式中的不一樣,會報錯如下:
EasyNetQ.EasyNetQInvalidMessageTypeExcepion:Message type is incorrect.Expected 'RabbitMQ_Message:RabbitMQ',but was ''
由龐順龍最後編輯於:4年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- RabbitMQ學習系列二:.net 環境下 C#程式碼使用 RabbitMQ 訊息佇列MQC#佇列
- 輕鬆上手 PHP + RabbitMQ 訊息釋出與訂閱PHPMQ
- RabbitMQ學習(三)之 “訊息佇列高階使用”MQ佇列
- RabbitMQ訊息佇列系列教程(一)認識RabbitMQMQ佇列
- RabbitMQ-訂閱模式MQ模式
- RabbitMQ系列教程之三:釋出/訂閱(Publish/Subscribe)MQ
- RabbitMQ系列(一)RabbitMQ在Ubuntu上的環境搭建MQUbuntu
- RabbitMQ學習系列一:windows下安裝RabbitMQ服務MQWindows
- RabbitMQ .NET訊息佇列使用入門(五)【RabbitMQ例子】MQ佇列
- 如何處理RabbitMQ 訊息堆積和訊息丟失問題MQ
- RabbitMQ訊息模式MQ模式
- Windows環境下安裝RabbitMQWindowsMQ
- RabbitMQ .NET訊息佇列使用入門(四)【RabbitMQ用法大全】MQ佇列
- RabbitMQ 入門 - 釋出 / 訂閱MQ
- RabbitMQ訊息佇列MQ佇列
- [訊息佇列]RabbitMQ佇列MQ
- RabbitMQ訊息佇列-Centos7下安裝RabbitMQ3.6.1MQ佇列CentOS
- 小程式訊息推送訂閱
- MQ訊息佇列_RabbitMQMQ佇列
- RabbitMq之訊息確認MQ
- 訊息中介軟體rabbitMQMQ
- rabbitmq訊息佇列原理MQ佇列
- 訊息佇列之RabbitMQ佇列MQ
- 訊息佇列之 RabbitMQ佇列MQ
- RabbitMQ防止訊息丟失MQ
- RabbitMQ 訊息佇列 配置MQ佇列
- RabbitMQ系列(一)在Ubuntu上的環境搭建MQUbuntu
- 萬字長文:從 C# 入門學會 RabbitMQ 訊息佇列程式設計C#MQ佇列程式設計
- RabbitMQ,RocketMQ,Kafka 事務性,訊息丟失和訊息重複傳送的處理策略MQKafka
- C#中的訊息中介軟體(RabbitMQ 和 Redis)C#MQRedis
- RabbitMQ學習之(三)_Centos6下RabbitMQ PHP擴充套件的安裝MQCentOSPHP套件
- 學習在.NET Core中使用RabbitMQ進行訊息傳遞之持久化(二MQ持久化
- 訊息中介軟體RabbitMQ_RabbitMQ快速入門3MQ
- 訊息中介軟體RabbitMQ_RabbitMQ叢集搭建8MQ
- RabbitMQ實戰:理解訊息通訊MQ
- 小程式傳送訂閱訊息
- 密碼學系列——訊息摘要(c#程式碼實操)密碼學C#
- rabbitMq學習MQ