.net6开发过程


记录一篇.netwebapi开发过程

首先使用6+dapper+sqlserver

我们创建一个空项目使用HttpReports来监控api

  HttpReports  基于.Net Core 开发的APM监控系统,使用MIT开源协议,主要功能包括,统计, 分析, 可视化, 监控,追踪等,适合在微服务环境中使用。

要下载这些包HttpReports.Dashboard+HttpReports.Sqlserver

 创建好之后到appsettings配置一下项目

{
  "HttpReportsDashboard": {
    "ExpireDay": 2,///ExpireDay - 数据过期天数,默认3天,HttpReports 会自动清除过期的数据
    "Storage": {
      "ConnectionString": "Server=.;Database=LogDb;User ID=sa;Password=123456;Trusted_Connection=false;",
///这里是记录api日志文件库 首先你的有这个库
      "DeferSecond": 10,/// 批量数据入库的秒数,建议值 5-60
      "DeferThreshold": 100///批量数据入库的数量,建议值100-1000
    },
    "Check": {///健康检查配置,具体看 健康检查 页面
      "Mode": "Self",
      "Switch": true,
      "Endpoint": "",
      "Range": "500,2000"
    },
    "Mail": {///邮箱信息,配置监控的话,可以发告警邮件
      "Server": "lpw1109@icloud.com",
      "Port": 465,
      "Account": "lpw1109@icloud.com",
      "Password": "",
      "EnableSsL": true,
      "Switch": true
    }
  }
}

配置完成 还得去Program在添加一下

Program类配置信息

builder.Services.AddHttpReportsDashboard().AddSQLServerStorage();//推荐放入最上行

app.UseHttpReportsDashboard();//声明一下

这样就可以直接运行了 账号admin密码123456 效果如下

然后创建我们的api项目 还是要配置我们的appsettingsjson文件

{
  "HttpReports": {
    "Transport": {
      "CollectorAddress": "http://localhost:5064",//这是上面那个空项目的地址
      "DeferSecond": 10,//批量数据入库的秒数,建议值 5-60
      "DeferThreshold": 100//批量数据入库的数量,建议值100-300
    },
    "Server": "http://localhost:5110",//这是我们api运行地址
    "Service": "LPW",//这是我们api项目名称 可以随便写
    "Switch": true,//是否开启收集数据
    "RequestFilter": [ "/WebSocketXX", "/api/login*" ],//数据过滤,用 * 来模糊匹配
    "WithRequest": true,//记录入参数据
    "WithResponse": true,//记录数据
    "WithCookie": false,//是否记录cokkie
    "WithHeader": true//是否记录header请求数据
  }
}

配置完成 还得去Program在添加一下

Program类配置信息

builder.Services.AddHttpReports().AddHttpTransport();//推荐放入最上行

app.UseHttpReports();//推荐放入最上行

然后启动项目测试一下接口 就可以在Dashboard看到数据l