一、前言
第一步:扩展了Startup类中的IServiceCollection,在CAP中我加入了Consul的注册,如下图:
public static void AddCAPConfigure(this IServiceCollection services, IConfiguration configuration) { services.AddCap(x => { //使用Dapper ORM x.UseMySql(configuration.GetConnectionString("DBConnection")); //使用kafka 进行日志、case的消息推送 //需要配置一下MQ地址,kafka放在linux系统上,不建议放在window上 x.UseKafka(configuration["KafkaConfig"]); x.UseDashboard();//得到UI界面 //注册服务发现 x.UseDiscovery(d => { d.DiscoveryServerHostName = "192.168.161.163"; d.DiscoveryServerPort = 8500; d.CurrentNodeHostName = "localhost"; d.CurrentNodePort = 64616; d.NodeName = "CAP No.1 Node"; }); }); }
我用的是mysql数据库,以及使用kafka消息队列,这边要注意,kafka最好部署在linux系统上,在windows系统会存在很多的坑,如果你觉得你的天坑能力强,可以尝试一下。
我这边也集成了 Consul服务注册,如果大家对cosnul感谢的兴趣的可以看我的另外一篇文章:实战中的asp.net core结合Consul集群&Docker实现服务治理 里面有讲解了consul集群部署。
好了然后我在我的主项目中配置一下,就开始用吧:
#region 配置CAP services.AddCAPConfigure(Configuration); #endregion
第二步:在asp.net core webapi项目中新建一个控制器
配置如下:
[Route("api/[controller]/[action]"

