当前位置: 首页 > wzjs >正文

克隆网站首页做单页站几个文件智能硬件开发

克隆网站首页做单页站几个文件,智能硬件开发,深圳网站软件网站建设,自学网站建设视频文章目录 项目地址一、结构化日志1.1 使用Serilog1. 安装所需要的包2. 注册服务和配置3. 安装Seq服务 1.2 添加分布式id中间件1. 添加中间件2. 注册服务3. 修改Application的LoggingBehavior 二、Redis缓存2.1 添加缓存1. 创建接口ICaching接口2. 实现ICaching接口3. 注册Cachi…

文章目录

  • 项目地址
  • 一、结构化日志
    • 1.1 使用Serilog
      • 1. 安装所需要的包
      • 2. 注册服务和配置
      • 3. 安装Seq服务
    • 1.2 添加分布式id中间件
      • 1. 添加中间件
      • 2. 注册服务
      • 3. 修改Application的LoggingBehavior
  • 二、Redis缓存
    • 2.1 添加缓存
      • 1. 创建接口ICaching接口
      • 2. 实现ICaching接口
      • 3. 注册Caching服务
      • 4. 添加Docker
    • 2.2 服务使用Caching
    • 2.3 查询使用Caching
      • 1. 添加ICachingQuery接口
      • 2. 给查询添加缓存
      • 3. 添加缓存的Pipeline Behaviors
      • 4. 注册管道行为
      • 5. 管道行为和中间件的区别
  • 三、HealthCheck
    • 3.1 安装healthCheck包
    • 3.2 配置HealthCheck
      • 1. 添加注册服务
      • 2. program里添加服务
  • 四、Api Versioning
    • 4.1 创建版本控制
      • 1. 安装需要的包
      • 2. 给controller添加版本 控制
    • 4.2 让Swagger支持api
  • 五、OutBox Pattern
      • 5.1 创建OutboxMessage类
      • 5.2 修改事件发布为Outbox发布
      • 5.3 创建OutBox表
      • 5.4 OutBox设置
      • 1. 创建配置类OutboxOptions
      • 2. 添加配置
      • 3. 注册配置和服务


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、结构化日志

1.1 使用Serilog

1. 安装所需要的包

    <PackageReference Include="Serilog" Version="4.2.0" /><PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /><PackageReference Include="Serilog.Sinks.Seq" Version="9.0.0" />

2. 注册服务和配置

3. 安装Seq服务

1.2 添加分布式id中间件

1. 添加中间件

2. 注册服务

3. 修改Application的LoggingBehavior

二、Redis缓存

2.1 添加缓存

1. 创建接口ICaching接口

  • 在Application层

2. 实现ICaching接口

  • 在Infrastructure层

3. 注册Caching服务

  • 在Infrastructure里注册

4. 添加Docker

  1. 添加Redis在docker-compose里

  2. 在配置文件里,添加缓存的connection string

2.2 服务使用Caching

  • 给非常耗时的服务添加缓存,这里我们给获取用户的Permision进行缓存

2.3 查询使用Caching

1. 添加ICachingQuery接口

  • 表示给查询添加缓存

2. 给查询添加缓存

  • 给之前的

在这里插入图片描述

3. 添加缓存的Pipeline Behaviors

  • 管道行为只会

4. 注册管道行为

5. 管道行为和中间件的区别

对比项中间件(Middleware)管道行为(Pipeline Behavior)
所属框架ASP.NET CoreMediatR
作用范围整个 HTTP 请求生命周期只作用于 MediatR 的请求(IRequest / INotification)
使用位置配置在 Program.csStartup.cs配置在 AddMediatR(...) 注册过程中
执行顺序多个中间件按注册顺序包裹整个请求多个行为按注册顺序包裹 MediatR 的请求处理器
核心接口RequestDelegateIPipelineBehavior<TRequest, TResponse>
通常用途日志、异常处理、认证、跨域、安全、请求上下文等MediatR 请求的日志、验证、缓存、事务处理等
是否与控制器耦合不耦合:作用于请求最外层只在你使用 MediatR.Send(...) 时生效
是否能终止请求✅ 是:中间件可以选择不调用 next() 终止请求✅ 是:行为也可以选择不调用 next(),终止链条

三、HealthCheck

3.1 安装healthCheck包

  • 有什么服务就安装对应的包,这里我们有postgrsql/redis/uris
    <PackageReference Include="AspNetCore.HealthChecks.NpgSql" Version="8.0.0" /><PackageReference Include="AspNetCore.HealthChecks.Redis" Version="8.0.0" /><PackageReference Include="AspNetCore.HealthChecks.Uris" Version="8.0.0" />

3.2 配置HealthCheck

1. 添加注册服务

2. program里添加服务

四、Api Versioning

4.1 创建版本控制

1. 安装需要的包

    <PackageReference Include="Asp.Versioning.Mvc" Version="8.1.0" /><PackageReference Include="Asp.Versioning.Mvc.ApiExplorer" Version="8.1.0" />
  • 添加服务

2. 给controller添加版本 控制

4.2 让Swagger支持api

五、OutBox Pattern

将要发送的消息,先存入数据库的“Outbox 表”中(和业务数据一起在同一个事务中提交)。
另一个后台进程/服务定期扫描 Outbox 表,将消息发送到消息队列(如 Kafka、RabbitMQ)。
发送成功后更新 Outbox 表状态(如标记为已发送)。
在这里插入图片描述

5.1 创建OutboxMessage类

  • 用于实例化消息
public sealed class OutboxMessage
{public OutboxMessage(Guid id, DateTime occurredOnUtc, string type, string content){Id = id;OccurredOnUtc = occurredOnUtc;Content = content;Type = type;}public Guid Id { get; init; }public DateTime OccurredOnUtc { get; init; }public string Type { get; init; }public string Content { get; init; }public DateTime? ProcessedOnUtc { get; init; }public string? Error { get; init; }
}

5.2 修改事件发布为Outbox发布

  • 修改之前的事件发布
    在这里插入图片描述

5.3 创建OutBox表

  • OutboxMessageConfiguration.cs

internal sealed class OutboxMessageConfiguration : IEntityTypeConfiguration<OutboxMessage>
{public void Configure(EntityTypeBuilder<OutboxMessage> builder){builder.ToTable("outbox_messages");builder.HasKey(outboxMessage => outboxMessage.Id);builder.Property(outboxMessage => outboxMessage.Content).HasColumnType("jsonb");}
}

5.4 OutBox设置

1. 创建配置类OutboxOptions

创建配置类``

public sealed class OutboxOptions
{// 发送到消息队列的间隔时间public int IntervalInSeconds { get; init; }// 批量大小public int BatchSize { get; init; }
}

2. 添加配置

  • 在appsettings里添加
  "Outbox": {"IntervalInSeconds": 5,"BatchSize": 10}

3. 注册配置和服务


文章转载自:

http://9CZxFhQI.mghgL.cn
http://vCaJ562u.mghgL.cn
http://LYDdCqHb.mghgL.cn
http://jFgiCKqC.mghgL.cn
http://xSKWKiGE.mghgL.cn
http://N7nlaBHB.mghgL.cn
http://1bmMZQRB.mghgL.cn
http://Z7DKY1Gv.mghgL.cn
http://peth1DM6.mghgL.cn
http://6o8IxJZA.mghgL.cn
http://diYXWhyV.mghgL.cn
http://ADNjt0Rg.mghgL.cn
http://yWgzovPY.mghgL.cn
http://c1Pi3Ogm.mghgL.cn
http://v672kidP.mghgL.cn
http://67iMrwok.mghgL.cn
http://Vi5sp4n4.mghgL.cn
http://AzqYPGH8.mghgL.cn
http://vrv4pJxC.mghgL.cn
http://t0vn4pwO.mghgL.cn
http://NhTwnPB1.mghgL.cn
http://Ql8J6ISG.mghgL.cn
http://uIdfQUwd.mghgL.cn
http://BqCR6utF.mghgL.cn
http://dp1I6Zc5.mghgL.cn
http://jcrCb3bA.mghgL.cn
http://vCw5UyEl.mghgL.cn
http://rHhTmFGk.mghgL.cn
http://yyQeQkZu.mghgL.cn
http://1FWWHX3q.mghgL.cn
http://www.dtcms.com/wzjs/659902.html

相关文章:

  • 十二冶金建设集团有限公司网站wordpress后台禁止更新
  • 做的不错的h5高端网站怎么上传网站地图
  • 现在那个网站做宣传有效果网站建设怎么下载代码
  • 怎样进行网站建设广州网站推广策划
  • 镇江企业网站设计开发价格外贸线上推广
  • 网站建设管理规定成功的网络营销事件有哪些
  • 汕头网站推广自己创造网站平台
  • 2014做社交网站注册公司资金最少多少钱
  • 电子商务html网站模板网站开发怎样
  • 做黑网站wordpress注册界面修改
  • 农村电子商务网站建设方案金安合肥网站建设专业
  • wordpress 网站登录公众号制作编辑器
  • 济南wordpress 建站微信运营者和管理员的区别
  • 扒站wordpress主题wordpress 关注插件
  • 游戏网站设计太原网站搜索优化
  • 设计师接私单网站使用免费的代码做网站
  • 标准网站建设服务器网站建设合理化建议方案
  • 什么网站建设最便宜网站按钮特效
  • 网站升级维护期间能访问吗qq网页版直接登录手机版
  • 商城网站建设软件新郑做网站优化
  • 天津做网站找津坤科技专业电子商务网站建设实训感想
  • 广东省城乡建设厅网站省级建设主管部门网站
  • 如何做自己的网站商城站wordpress文章如何匪类
  • 蚌埠市建设管理局官方网站公司网站与推广
  • 一流的铁岭做网站公司seo行业岗位
  • 网站构建技术WordPress大前端top
  • asp.net网站创建浏览器快捷图标微信小程序制作教学
  • wordpress制作客户端东莞seo建站怎么投放
  • 网站建设需要几个阶段百度移动端关键词优化
  • 骗子会利用钓鱼网站做啥公司电子商务网站建设策划书