net5集成Cap
net5集成Cap
1、新建站点,net5
2、添加引用
nuget添加:
DotNetCore.CAP
DotNetCore.CAP.RabbitMQ --使用了rabbirmq需要用到
DotNetCore.CAP.MySql --使用了mysql做存储,需要用到
DotNetCore.CAP.Dashboard -- 使用面板需要用到
3、ConfigServices增加代码
services.AddCap(options => { options.UseMySql(x => { x.TableNamePrefix = "mycap"; x.ConnectionString = "mysql连接语句"; }); options.UseRabbitMQ(x => { x.HostName = “localhost"; x.UserName ="guest"; x.Password = "guest"; x.Port = 5672; }); options.UseDashboard(); });
这样基本配置就配置完成了,接下来是处理代码的处理
4、发送代码例子
[HttpGet] public void SendCap([FromServices] ICapPublisher capObj) { var header = new Dictionary<string, string>() { ["my.header.exam"] = "headexam", }; capObj.Publish("test.show.demo", DateTime.Now, header); }
主要记住name,接收的时候,是需要匹配上这个的
5、接收例子
[NonAction] [CapSubscribe("test.show.demo")] public BaseResponse<DemoModelRes> ReceiveCap(DateTime time, [FromCap] CapHeader header) { //这里time就是接收的前面发送的值了,header也是前面发送的header值 //主要是CapSubscribe的名字匹配定义的 }
6、发送,接收加断点。运行后,调用发送的api,执行完毕后,会跳转到接收的接口里面,并且获取到接收值,同时发送的时候可以增加回调处理,也是类似这样消息名配置一样的方式,会自动触发处理