网站模板制作工具,网站代码制作,长葛哪里有做网站的,食品品牌推广方案HttpReports简单介绍HttpReports 是 .Net Core下的一个Web组件#xff0c;适用于 WebAPI 项目和 API 网关项目#xff0c;通过中间件的形式集成到您的项目中, 通过HttpReports#xff0c;可以让开发人员快速的搭建出一个 API 性能分析的基础报表网站。主要包含 HttpReports … HttpReports简单介绍HttpReports 是 .Net Core下的一个Web组件适用于 WebAPI 项目和 API 网关项目通过中间件的形式集成到您的项目中, 通过HttpReports可以让开发人员快速的搭建出一个 API 性能分析的基础报表网站。主要包含 HttpReports 中间件 和 HttpReports.Web 报表项目HttpReportshttps://github.com/SpringLeee/HttpReportsHttpReports.Webhttps://github.com/SpringLeee/HttpReportsWeb如何使用1.运行 HttpReports.Web在github下载 HttpReports.Web 项目项目地址https://github.com/SpringLeee/HttpReportsWeb, Web项目是.Net Core MVC 项目使用三层实现。下载完成后在VS中打开然后还原NuGet程序包完成后首先 appsettings.jsonappsettings.json{ ConnectionStrings: { HttpReports: Max Pool Size 512;server.;uidsa;pwd123456;databaseHttpReports; }, HttpReportsConfig: { DBType: SqlServer, UserName: admin, Password: 123456 }}主要参数HttpReports配置一个可用的连接字符串DBType数据库类型支持SqlServer和MySql;UserName: Web项目的登录名Password: Web项目的登录密码假设我们使用的是SqlServer 数据库需要先配置ConnectionStrings然后手动创建数据库 HttpReportsWeb项目会根据数据库自动创建表并且在第一次运行的时候Mock一些数据 我们直接F5运行项目 没有问题的话会直接跳到登录页面输入用户名密码 admin 123456登录后应该可以看到下面的页面现在可以看到项目有 auth,paymentsms 三个服务节点服务节点的定义如下请求地址服务节点说明https://www.abc.com/auth/api/user/loginauthhttps://www.abc.com/log/api/user/loginloghttps://www.abc.com/api/user/logindefault如果没有前缀的话就是default节点如果你的项目是单个WebAPI项目那么服务节点只有一个 default如果你的项目是 GateWay 网关项目那么Web项目就可以读取到多个服务节点比如 auth 认证payment支付等。2.在API项目中使用首先要删除 Web 项目的Mock数据打开数据库 HttpReports打开表 RequestInfo,清空数据执行Sql Delete * From [HttpReports].[dbo].[RequestInfo]配置数据库连接字符串HttpReports 适用单个API项目和网关项目这里使用 Ocelot网关项目为例.我们打开appsetting.json, 配置数据库连接字符串需要和Web项目一致Nuget引用HttpReports安装nuget包 HttpReports 打开StartUp在ConfigureServices 方法下添加services.AddHttpReportsMiddlewire();如果是MySql数据库则添加csharp services.AddHttpReportsMiddlewire(options { options.DBType DBType.MySql; });加入到 Configure 方法 需要放在 app.UseMVC() 或者 app.UseOcelot().Wait() 的前面要不然不生效app.UseHttpReportsMiddlewire();ConnectionStrings 配置的连接字符串和数据库类型要一致全部完成了以后我们就可以使用 Web 项目了。项目环境基本要求WebAPI或者网关项目支持的.Net Core 版本 2.2, 3.0, 3.1;HttpReports.Web 的core版本为 2.2性能事项HttpReports 中间件是异步操作所以对api接口请求的时间可以忽略但是由于实质使用的是数据库存储所以要注意直接请求到数据库的压力。下面是用PostMan做的一个简单测试WebAPI内的方法 public string Sql1() { SqlConnection con new SqlConnection( Max Pool Size 512;server.;uidsa;pwd123456;databaseHyBasicData;); var list1 con.Query( select * from [HyBasicData].[dbo].[Customers] ); var list2 con.Query( select * from [HyBasicData].[dbo].[Customers] ); var list3 con.Query( select * from [HyBasicData].[dbo].[Customers] ); return list1.Count().ToString(); }PostMan分别对添加中间件和不添加中间件的 API请求 1000次每300ms请求一次说明请求次数平均响应时间原生API100032.535使用中间件100032.899总结HttpReports 的实现原理并不复杂如果你想给你的 WebAPI项目快速的添加一套分析系统 那么使用HttpReports 是一个不错的选择联系作者如果您在使用过程中遇到了什么问题或者有好的建议的话可以添加我的微信希望可以帮助到。