建设校园网站,百度外包公司有哪些,网站模板管理系统,开网页死机文章目录前言一、报错信息二、日志分析三、分析四、最终解决办法#xff1a;前言
最近实现服务器数据导出#xff1a; .net8.0的webapi 获取到post请求#xff0c;查询数据后dbReader导出到workbook. 并保存Excel到远程的文件服务器。 问题#xff1a;本地调试无问题…
文章目录前言一、报错信息二、日志分析三、分析四、最终解决办法前言
最近实现服务器数据导出 .net8.0的webapi 获取到post请求查询数据后dbReader导出到workbook. 并保存Excel到远程的文件服务器。 问题本地调试无问题发布到远程服务器后数据量一大,前端就会Response 502
一、报错信息
System.Net.WebException HResult0x80131509 Message远程服务器返回错误: (502) 错误的网关。
二、日志分析
在 while (reader.Read())中记录 输出日志
08-15 16:05 api 请求 运行0秒
08-15 16:05 _SG1 请求 运行0秒
08-15 16:05 sqlHelper do workbook占存为77.20 MB 运行0秒
08-15 16:05 测试开始 运行5秒
08-15 16:05 测试开始1 运行5秒
08-15 16:05 测试开始2 运行5秒
08-15 16:05 测试开始_1万行占存为477.07 MB 运行7秒
08-15 16:05 测试开始_10万行占存为197.26 MB 运行18秒
08-15 16:05 测试开始_20万行占存为181.61 MB 运行34秒
08-15 16:05 测试开始_30万行占存为182.88 MB 运行49秒
08-15 16:06 测试开始_40万行占存为182.12 MB 运行69秒
08-15 16:06 测试开始_50万行占存为178.66 MB 运行82秒
08-15 16:06 测试开始_60万行占存为182.79 MB 运行97秒
08-15 16:06 测试开始_70万行占存为178.45 MB 运行116秒情况在120秒左右前端返回502后端并未中断。
三、分析
问题是post请求在后端还在执行的时候中途释放掉了。情况只有两种 1、Request超时 2、内存溢出。
然后使用了很多办法
1、request:request.Timeout 600000;
2、 webapi:[HttpPost][RequestTimeout(1000000)]//1000Spublic async TaskIActionResult GetSG1(SG1Req obj)
3、IIS各种设置都没什么效果
四、最终解决办法
修改web.config添加requestTimeout“00:20:00” 到 aspNetCore (requestTimeout60000会报错 )
?xml version1.0 encodingutf-8?
configurationlocation path. inheritInChildApplicationsfalsesystem.webServerhandlersadd nameaspNetCore path* verb* modulesAspNetCoreModuleV2 resourceTypeUnspecified //handlersaspNetCore processPath.\WebApi.exe stdoutLogEnabledfalse stdoutLogFile.\logs\stdout hostingModeloutofprocess requestTimeout00:20:00 //system.webServer/location/configuration问题得到解决记录下来。