首页 / RABBITMQ / RabbitMQ.Bus
RabbitMQ.Bus
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了RabbitMQ.Bus,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1959字,纯文字阅读大概需要3分钟。
内容图文
一个.netcore下的,十分简单的rabbitmq封装,基于RabbitMQ.Client
Nuget
https://www.nuget.org/packages/RabbitMQ.Bus/
https://www.nuget.org/packages/RabbitMQ.Bus.Autofac/Git
采用autofac进行DI的管理
目前仅支持Topic模式
public IServiceProvider ConfigureServices(IServiceCollection services) { var AssemblyName = typeof(Startup).GetTypeInfo().Assembly.GetName().Name; services.AddMvc(); services.AddRabbitMQBus("amqp://guest:guest@192.168.0.252:5672/"); //OR services.AddRabbitMQBus("amqp://guest:guest@192.168.0.252:5672/", options => { //添加客户端可读名称 options.ClientProvidedName = AssemblyName; //关闭网络自动恢复 options.AutomaticRecoveryEnabled = false; //关闭持久化消息 options.Persistence = false; //无消费者时消息重新发送的间隔时间 options.NoConsumerMessageRetryInterval = TimeSpan.FromSeconds(3); //开启Autofac支持 //options.AddAutofac(services); //开启Autofac支持并开启butterfly支持 options.AddAutofac(services, butterfly => { butterfly.CollectorUrl = "http://192.168.0.252:9618"; butterfly.Service = AssemblyName; }); }); } publicvoid Configure(IApplicationBuilder app, IHostingEnvironment env) { //true为自动订阅,默认false,则采用之前的订阅方式,注入RabbitMQBusService后使用Subscribe泛型进行订阅 app.UseRabbitMQBus(true); }
使用方法
在asp.net core中
订阅处理方法
[Queue(ExchangeName = "dev.ex", RoutingKey = "send.#")] publicclass Person { publicstring Name { set; get; } } publicclass PersonHandler : IRabbitMQBusHandler<Person> { public Task Handle(Person message) { Console.WriteLine($"收到消息:{message.Name}"); return Task.CompletedTask; } }
发送消息
[Route("api/v1/[controller]")] publicclass IndexController : Controller { privatereadonly IRabbitMQBus _rabbit; public IndexController(IRabbitMQBus rabbit) { _rabbit = rabbit ?? thrownew ArgumentNullException(nameof(rabbit)); } [HttpPost] publicasync Task<IActionResult> Send() { _rabbit.Publish( new { Name = "Hello RabbitMQ" }, routingKey: "send.message",exchangeName: "dev.ex"); //OR _rabbit.Publish(new Person{ Name = "Hello RabbitMQ" }); } }
原文:https://www.cnblogs.com/luacloud/p/9365875.html
内容总结
以上是互联网集市为您收集整理的RabbitMQ.Bus全部内容,希望文章能够帮你解决RabbitMQ.Bus所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。