ChengDeRong123
大成小示
2019-04-19 11:08

.net core 2.1限制方法请求最长时间。

  • c#
  • asp.net
  • microsoft
  • visual studio

1、问题描述:
在.net core项目中我们用的是2.1版本的。现在请求越来越多,有些处理不过来。所以我们就想,如果超过3秒还没处理完的就结束它的请求。
2、网上的方案:
在ASP.NET Core项目发布后生成的web.config文件中,加入时间限制配置 requestTimeout="00:20:00":

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore requestTimeout="00:20:00"  processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>

但是这个操作在.net core 2.1中修改配置不起作用。具体不是到什么原因。下面是我的配置信息图片说明

当前思考的方向:
.net core2.1中是否能在每个请求到controller中,是否共享线程的?
如果的多线程能否计算该线程处理controller方法的时间 并且达到一定时间结束该线程。**如果共享的单线程**,又有什么方法能够设置controller中方法允许的最长处理时间呢?
欢迎各位发表一下意见。

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

0条回答