首页 > 数据库 >FreeSql+ Rabbit+CAP

FreeSql+ Rabbit+CAP

时间:2023-11-09 09:46:18浏览次数:43  
标签:FreeSql builder CAP RabbitMQ Rabbit cfg Configuration

1.下载FreeSql.Provider.SqlServer,如果是MaSql就把最后改成MySql 参考链接 入门 | FreeSql 官方文档

 

Func<IServiceProvider, IFreeSql> fsqlFactory = r =>
{
    IFreeSql fsql = new FreeSql.FreeSqlBuilder()
        .UseConnectionString(FreeSql.DataType.SqlServer, builder.Configuration.GetConnectionString("Connstr"))
        .UseLazyLoading(true)
        //.UseMonitorCommand(cmd => Console.WriteLine($"Sql:{cmd.CommandText}"))//监听SQL语句
        .UseAutoSyncStructure(true) //自动同步实体结构到数据库,FreeSql不会扫描程序集,只有CRUD时才会生成表。
        .Build();
    return fsql;
};
builder.Services.AddSingleton(fsqlFactory);

var app = builder.Build();
//在项目启动时,从容器中获取IFreeSql实例,并执行一些操作:同步表,种子数据, FluentAPI等
//using (IServiceScope serviceScope = app.Services.CreateScope())
//{
//    var fsql = serviceScope.ServiceProvider.GetRequiredService<IFreeSql>();
//    fsql.CodeFirst.SyncStructure(typeof(UserInfo));//Topic 为要同步的实体类
//}

运行项目的时候就自动映射到数据库了

二、1.配置RabbitMQ

安装包 DotNetCore.CAP

 

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "Connstr": "server=.;uid=sa;pwd=111111;database=CAP1108;TrustServerCertificate=True",
    "OrderCap": "server=.;uid=sa;pwd=1111111;database=OrderCap;TrustServerCertificate=True"//CAP的连接字符串
  },
//连接对应的RabbitMQ "RabbitMQ": { "Host": "10.10.10.10", "VirtualHost": "/", "Port": 5672, "UserName": "admin", "Password": "111111" } }

2.配置Program 参考连接 快速开始 - CAP (dotnetcore.xyz)

builder.Services.AddCap(x =>
{
    x.UseSqlServer(builder.Configuration["ConnectionStrings:OrderCap"]); // SQL Server
    x.UseRabbitMQ(cfg =>
    {
        cfg.HostName = builder.Configuration["RabbitMQ:Host"];
        cfg.VirtualHost = builder.Configuration["RabbitMQ:VirtualHost"];
        cfg.Port = Convert.ToInt32(builder.Configuration["RabbitMQ:Port"]);
        cfg.UserName = builder.Configuration["RabbitMQ:UserName"];
        cfg.Password = builder.Configuration["RabbitMQ:Password"];
    }); // RabbitMQ

    // Below settings is just for demo
    x.FailedRetryCount = 2;//重试
    x.FailedRetryInterval = 5;
});

 

 end…

标签:FreeSql,builder,CAP,RabbitMQ,Rabbit,cfg,Configuration
From: https://www.cnblogs.com/ff2223/p/17819015.html

相关文章

  • Springboot整合RabbitMQ值Direct交换机
    常用的交换机有以下三种,因为消费者是从队列获取信息的,队列是绑定交换机的(一般),所以对应的消息推送/接收模式也会有以下几种:DirectExchange 直连型交换机,根据消息携带的路由键将消息投递给对应队列。大致流程,有一个队列绑定到一个直连交换机上,同时赋予一个路由键routingkey......
  • 这次写一下inkscape这个矢量工具的使用,怎么使用shapebuilder, 作为一个设计师应该如何
    绘图工具常用的大家都知道,一般图像有web类型,位图,压缩图,原图,矢量图,而矢量图保存东西是用的矢量保存的,所以在拉伸等变换的时候会基于矢量方向计算,所以填充等总是均匀的,不像位图,拉伸时就会是使图像中的位点变稀疏,图像变得不清晰。这里adobe的photoshop是一个调色工具,这里要记得,虽然p......
  • BUUCTF_Crypto_WriteUp | Rabbit
    题目U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI分析字符串中除了大小写字母和零星数字外有俩很可疑的符号“/”和“+”,猜测是Base系列编码。用Base64解码得到一串可疑的字符Salted__þÉÙÃ>Œn8É^q›cØ。不对劲。打开浏览器......
  • 安装RabbitMQ
    1)安装虚拟机环境:Mac+ParallesDesktop16+Debian10Arm64IP地址:166.166.166.92配置源:debhttps://mirror.sjtu.edu.cn/debian/bullseyemaincontribnon-freedeb-srchttps://mirror.sjtu.edu.cn/debian/bullseyemaincontribnon-freedebhttps://mirror.sjtu.edu.cn/d......
  • mac os 编译webrtc 报错screen_capturer_mac.mm:500:5: error: 'CGDisplayStreamStop'
    ../../modules/desktop_capture/mac/screen_capturer_mac.mm:462:11:error:'CGDisplayStreamUpdateGetRects'isonlyavailableonmacOS13.0ornewer[-Werror,-Wunguarded-availability-new]462|CGDisplayStreamUpdateGetRects(updateRef,kC......
  • Python 使用Scapy构造特殊数据包
    Scapy是一款Python库,可用于构建、发送、接收和解析网络数据包。除了实现端口扫描外,它还可以用于实现各种网络安全工具,例如SynFlood攻击,Sockstress攻击,DNS查询攻击,ARP攻击,ARP中间人等。这些工具都是基于构造、发送和解析网络数据包来实现的,可以用于模拟各种网络攻击,测试网络安全防......
  • Rabbitmq消息队列:Topic话题模式简单应用
    一、生产者声明topic话题模式的交换机,分别发送几条消息到不同的路由key。packagetest.topic;importcom.rabbitmq.client.Channel;importcom.rabbitmq.client.Connection;importutils.RabbitmqConUtil;publicclassGive{//定义交换机privatefinals......
  • openvas报错Warning: Secinfo Database Missing SCAP and/or CERT database missing o
    今天按照openvas的时候突然发现报错。出现“Unknowndatabase"错误是因为mysldump命令在备份数据库时找不到指定的数据库。这个错误通常是由于数据库不存在或者连接到了错误的数据库导致的。因此,可以通过以下步骤来解决这个问题:1.确认数据库是否存在,可以使用命令"showdatabases;"......
  • Rabbitmq消息队列:Route路由模式简单应用
    一、生产者在发布订阅模式的代码基础上,进行一定的调整,将声明交换机的路由模式调整为direct路由模式。这个时候需要用到路由key,类似于给消息用来分类的标签。分别发送三条消息,发向GetOne、GetTwo和GetThree三个路由key://声明交换机(类型direct->路由模式)channel......
  • Rabbitmq消息队列:Publish/Subscribe模式简单应用
    一、生产者packagetest.publish;importcom.rabbitmq.client.Channel;importcom.rabbitmq.client.Connection;importutils.RabbitmqConUtil;publicclassGive{//定义交换机privatefinalstaticStringEXCHANGE="test-publish";publicstati......