记一次.netcore 3.1 本地正常,服务器 502 bad gateway(响应时长超过2分钟)

  有一个项目,在后台通过httpclient调用其他服务接口,该服务中会进行较复杂的计算,计算时长超过2分钟;在本地调试的时候,一切OK,但是部署到服务器,挂在IIS上后,
只要一调用该接口,计算完之后直接502错误(后台中添加日志检测逻辑是计算完成的:偶尔会出现计算未完成的情况),然后疯狂在网上看看有没有解决方案:
1、HttpClient _client = new HttpClient() 使用 using语法 或使用全局静态
2、_client.PostAsync(requestAddress, byteContent).Result 改为 await _client.PostAsync(requestAddress, byteContent)
3、_client.Timeout = TimeSpan.FromMinutes(30);
4、Program中配置超时时长:

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>().UseKestrel(option =>
{
option.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(30);
option.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(30);
}).UseUrls("http://*:8804");
});

5、修改IIS并发进程数,1改为8
等等以上都没有效果,查看系统日志等等,也没有记录;看服务器的性能参数、线程等,也没有存在调用时飙升的情况。。。。。啊啊,哪位大佬碰到过麻烦指导一下;

实在没辙,因为是.netcore 代码嘛,可以不依赖与IIS,我直接运行exe启动,结果,可以了!!!蛋碎了一地,难道是IIS的问题???留待大佬解惑~
好在,问题暂时得到解决了,记录一下。

posted @ 2020-10-16 15:34  软件开发-汪七北  阅读(1087)  评论(1编辑  收藏  举报