翼度科技»论坛 编程开发 .net 查看内容

轻松使用Aspire rabbitmq framework

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
轻松使用aspire rabbitmq

创作初衷

aspire 是微软基金会推出的新一代云原生编排框架,具体请看 https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview
我从preview1 - preview6(目前最新 2024/5/1) 一直都有使用,在第一版的时候我就用它放入了我的一个微服务中(https://gitee.com/SkyNingDuan/PublicActivityServices.git),一直和它迭代.
在其中我一直使用外部rabbitmq的方式给我的微服务传递消息(用的是YZK.eventbus),但是它一直有直接通过aspire方式创建rabbitmq 容器在你的项目中使用,我一直想着用杨中科老师的框架为指导,开发一个在aspire环境下的eventbus,但是一直拖着(已经有现成的了,就一直不想走出舒适区)最后经过不断的自我抗争,simpleUseAspireRabbitmq第一版开发好了,功能比较简单,也比较简单好用,如果大家热情高的话。后面再加便是。欢迎大家拥抱新技术,有任何问题都可以提issue和我互动,源代码地址https://github.com/skyDuanXianBing/SimpleUseAspireRabbitMQ.git ,nuget名称:SimpleUseAspireRabbitMQ (目前由于aspire 也是处于预览版,所以这个也是预览版,后面有任何改进也会跟进的)
下面是使用教程

1,创建你的aspire项目,在aspire.host中安装Aspire.Hosting.RabbitMQ 包,在program.cs中创建rabbitmq容器,并且 在你要使用rabbitmq的项目后 withreference rabbitmq容器

2,在你要使用rabbitmq项目的program.cs中分别加入builder.EventConfiguration("rabbitmq", "myexchange");(第一个参数是rabbitmq容器名称,第二是交换机名称)app.RegisterRabbitmqEvent();来注册服务

3,使用ieventbus发送消息 目前仅支持 string/泛型 数据(都会转换成json,后面在反序列化)

publish第一个参数是队列名称
4,定义处理类,一定要定义在网站项目中(因为是通过反射网站项目拿到全部的处理类)继承IEventJsonHandler/IEventStringHandler 分别实现就行
一定要在处理类上贴 [event("")] 这个attribute 用来指示接收哪个队列信息



5,完美接收消息


来源:https://www.cnblogs.com/SkyDuan/p/18169087
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具