轻松使用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.UseHttpsRedirection();来注册服务
3,使用ieventbus发送消息 现在仅支持 string/泛型 数据(都会转换成json,背面在反序列化)
publish第一个参数是队列名称
4,界说处理类,一定要界说在网站项目中(由于是通过反射网站项目拿到全部的处理类)继承IEventJsonHandler/IEventStringHandler 分别实现就行
一定要在处理类上贴 [event("")] 这个attribute 用来指示接收哪个队列信息
5,完美接收消息
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |