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 ''
由請喊我大龍哥最後編輯於:3年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- RabbitMQ學習系列二:.net 環境下 C#程式碼使用 RabbitMQ 訊息佇列MQC#佇列
- 輕鬆上手 PHP + RabbitMQ 訊息釋出與訂閱PHPMQ
- RabbitMQ學習(三)之 “訊息佇列高階使用”MQ佇列
- RabbitMQ系列(一)RabbitMQ在Ubuntu上的環境搭建MQUbuntu
- RabbitMQ-訂閱模式MQ模式
- RabbitMQ .NET訊息佇列使用入門(五)【RabbitMQ例子】MQ佇列
- rabbitmq環境,c#程式接收q,(未完成)MQC#
- RabbitMQ學習系列一:windows下安裝RabbitMQ服務MQWindows
- 如何處理RabbitMQ 訊息堆積和訊息丟失問題MQ
- RabbitMQ .NET訊息佇列使用入門(四)【RabbitMQ用法大全】MQ佇列
- Windows環境下安裝RabbitMQWindowsMQ
- RabbitMQ訊息模式MQ模式
- RabbitMQ 入門 - 釋出 / 訂閱MQ
- RabbitMQ訊息佇列-Centos7下安裝RabbitMQ3.6.1MQ佇列CentOS
- [訊息佇列]RabbitMQ佇列MQ
- RabbitMQ訊息佇列MQ佇列
- RabbitMQ系列(一)在Ubuntu上的環境搭建MQUbuntu
- 【.NET+MQTT】.NET6 環境下實現MQTT通訊,以及服務端、客戶端的雙邊訊息訂閱與釋出的程式碼演示MQQT服務端客戶端
- 小程式訊息推送訂閱
- 學習在.NET Core中使用RabbitMQ進行訊息傳遞之持久化(二MQ持久化
- 密碼學系列——訊息摘要(c#程式碼實操)密碼學C#
- RabbitMQ 入門(六)SpringAMQP五種訊息型別(釋出訂閱模式和Fanout Exchange )MQSpringGAM型別模式
- RabbitMQ 入門(三)SpringAMQP訊息轉換器MQSpringGAM
- Linux環境下 RabbitMQ 的下載與安裝LinuxMQ
- C#中的訊息中介軟體(RabbitMQ 和 Redis)C#MQRedis
- RabbitMQ,RocketMQ,Kafka 事務性,訊息丟失和訊息重複傳送的處理策略MQKafka
- 萬字長文:從 C# 入門學會 RabbitMQ 訊息佇列程式設計C#MQ佇列程式設計
- rabbitmq訊息佇列原理MQ佇列
- RabbitMQ防止訊息丟失MQ
- MQ訊息佇列_RabbitMQMQ佇列
- RabbitMq之訊息確認MQ
- 訊息中介軟體rabbitMQMQ
- 訊息佇列之RabbitMQ佇列MQ
- SpringBoot2--RabbitMQ訊息Spring BootMQ
- 使用RabbitMQ訊息佇列來處理大規模的資料流MQ佇列
- 小程式傳送訂閱訊息
- RabbitMQ系列(四)RabbitMQ事務和Confirm傳送方訊息確認——深入解讀MQ
- 個人學習系列 - SpringBoot整合RabbitMQSpring BootMQ