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

Webapi发布后IIS超时(.net8.0)

文章目录

  • 前言
  • 一、报错信息
  • 二、日志分析
  • 三、分析
  • 四、最终解决办法:

前言

最近实现服务器数据导出:
.net8.0的webapi 获取到post请求,查询数据后dbReader导出到workbook. 并保存Excel到远程的文件服务器。
问题:本地调试无问题,发布到远程服务器后数据量一大,前端就会Response 502

一、报错信息

System.Net.WebException
HResult=0x80131509
Message=远程服务器返回错误: (502) 错误的网关。

二、日志分析

在 while (reader.Read())中记录 输出日志:

08-15 16:05 api  请求   运行008-15 16:05 _SG1  请求   运行008-15 16:05 sqlHelper   do workbook占存为:77.20 MB  运行008-15 16:05 测试开始  运行508-15 16:05 测试开始1  运行508-15 16:05 测试开始2  运行508-15 16:05 测试开始_1万行占存为:477.07 MB  运行708-15 16:05 测试开始_10万行占存为:197.26 MB  运行1808-15 16:05 测试开始_20万行占存为:181.61 MB  运行3408-15 16:05 测试开始_30万行占存为:182.88 MB  运行4908-15 16:06 测试开始_40万行占存为:182.12 MB  运行6908-15 16:06 测试开始_50万行占存为:178.66 MB  运行8208-15 16:06 测试开始_60万行占存为:182.79 MB  运行9708-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 Task<IActionResult> GetSG1(SG1Req obj)
3、IIS各种设置

都没什么效果

四、最终解决办法:

修改web.config添加requestTimeout=“00:20:00” 到 aspNetCore
(requestTimeout="60000"会报错 )

<?xml version="1.0" encoding="utf-8"?>
<configuration><location path="." inheritInChildApplications="false"><system.webServer><handlers><add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /></handlers><aspNetCore processPath=".\WebApi.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="outofprocess" requestTimeout="00:20:00"  /></system.webServer></location></configuration>

问题得到解决,记录下来。

http://www.lryc.cn/news/621779.html

相关文章:

  • 【微服务】.NET8对接ElasticSearch
  • 华为实验综合小练习
  • 从源码到可执行文件:hello.c 的二进制之旅
  • Python从入门到高手9.3节: 利用字典进行格式化
  • GoLand深度解析:智能开发利器与cpolar内网穿透方案的协同实践
  • 配置国内加速源后仍然无法拉取镜像
  • Vue2与Vue3生命周期函数全面解析:从入门到精通
  • 【自动驾驶】自动驾驶概述 ② ( 自动驾驶技术路径 | L0 ~ L5 级别自动驾驶 )
  • Linux软件编程(五)(exec 函数族、system、线程)
  • Unity导航寻路轨迹可视化实现
  • Unity_数据持久化_Json
  • Ubuntu DNS 综合配置与排查指南
  • 小程序上拉加载下一页数据
  • 基于HTML5与Tailwind CSS的现代运势抽签系统技术解析
  • GEO入门:什么是生成式引擎优化?它与SEO的根本区别在哪里?
  • 流处理、实时分析与RAG驱动的Python ETL框架:构建智能数据管道(中)
  • Fanuc机器人EtherCAT通讯配置详解
  • 【Linux基础知识系列】第九十六篇 - 使用history命令管理命令历史
  • 【机器人】人形机器人“百机大战”:2025年产业革命的烽火与技术前沿
  • Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
  • 在 Vue2 中使用 pdf.js + pdf-lib 实现 PDF 预览、手写签名、文字批注与高保真导出
  • 力扣习题:基本计算器
  • Spring 工具类:StopWatch
  • Java 泛型类型擦除
  • 【递归、搜索与回溯算法】DFS解决FloodFill算法
  • Pytest项目_day17(随机测试数据)
  • JUC学习笔记-----LongAdder
  • 2025年最新油管视频下载,附MassTube下载软件地址
  • 嵌入式 C 语言编程规范个人学习笔记,参考华为《C 语言编程规范》
  • 嵌入式硬件篇---电容串并联