Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core 如何解决.NETCore2.0中的Web API超时异常_.net Core_Asp.net Core Webapi - Fatal编程技术网

.net core 如何解决.NETCore2.0中的Web API超时异常

.net core 如何解决.NETCore2.0中的Web API超时异常,.net-core,asp.net-core-webapi,.net Core,Asp.net Core Webapi,我在执行api时遇到了一个异常(如下图所示)(在这个api中,我正在执行Sql查询,这个查询将花费将近1小时30分钟) 我在我的web.config中添加了requestTimeout=“02:30:00”,如下所示,尽管我遇到了异常 <system.webServer> <handlers> <remove name="aspNetCore"/> <add name="aspNetCore" path="*" verb="*" modules=

我在执行api时遇到了一个异常(如下图所示)(在这个api中,我正在执行Sql查询,这个查询将花费将近1小时30分钟)

我在我的web.config中添加了requestTimeout=“02:30:00”,如下所示,尽管我遇到了异常

<system.webServer>
<handlers>
  <remove name="aspNetCore"/>
  <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore requestTimeout="02:30:00" processPath="dotnet" arguments=".\Testexampleapi .dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />

我在.net Core中添加了其他属性吗

谢谢


VictorAthoti.

在那个时候保持api调用打开不是一个好模式。 您应该使用消息传递或回调,api可以在流程完成时调用它们


使用回调,api的调用方可以提供回调url,api可以将其调用回调用方。

我怀疑让api调用方等待api响应1小时30分钟从一开始就是一个好的设计。@BohdanStupak,实际上api会在15分钟内抛出该异常。我有两个问题。1.为什么您希望您的客户等待1.5小时或更长时间?这是一个糟糕的设计。2.执行什么样的花费高得离谱的SQL查询需要一个多小时才能完成?这听起来像是某种形式的数据迁移,这是一项一劳永逸的工作,无需公开API即可完成it@MindSwipe:由于我正在尝试将旧数据库迁移到新数据库,并且它几乎有4GB的数据文件,因此执行查询需要时间(这取决于数据)。但是为什么要公开API来执行呢?迁移数据是一件一劳永逸的事情。您应该也永远不会再次调用该端点,为什么要将其公开为API?谢谢您的思考,我将尝试一下。