从IIS上的ASP.NET核心应用程序请求超时
我从ASP.NET核心应用程序向第三方api发出web请求从IIS上的ASP.NET核心应用程序请求超时,iis,asp.net-core,restsharp,Iis,Asp.net Core,Restsharp,我从ASP.NET核心应用程序向第三方api发出web请求 当应用程序本身单独运行时,请求成功 当应用程序在同一服务器上的IIS中运行时,请求超时 请求是通过RestSharp客户端从Hangfire循环作业向Asana API端点(HTTPS)发出的。所有应用程序的页面都可以通过IIS访问,但应用程序无法发出任何请求 要解决此问题,我应该在哪里查找以及调试什么?IIS行为是由web.config驱动的,我已配置为处理
要解决此问题,我应该在哪里查找以及调试什么?IIS行为是由web.config驱动的,我已配置为处理<20分钟的请求,指定requestTimeout=“00:20:00”:
<aspNetCore
requestTimeout="00:20:00"
processPath="%LAUNCHER_PATH%"
arguments="%LAUNCHER_ARGS%"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"
forwardWindowsAuthToken="false">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="staging" /> <!-- value could be "development", "staging" or "production"-->
</environmentVariables>
</aspNetCore>
它没有为进入IIS的请求设置超时吗?因为我的问题与从应用程序到另一台服务器上的另一个应用程序的请求有关,该服务器使用RestSharp客户端。当应用程序在没有IIS的情况下运行时,这些请求会通过ok。我的错,我当时没有正确理解你。但是是什么触发了来自ASP.NET核心的调用,对IIS的传入调用?如果您的IIS来电超时,您的应用程序会怎么样?你的应用程序和它的请求也会被中断吗?对此不确定,只是一个假设。不,没有传入的请求,这是一个使用Hangfire的重复作业集。是否可以将requestTimeout指定为环境变量ala%LAUNCHER\u PATH%
?当我尝试此操作时,intellisense指示字符串“%REQUEST\u TIMEOUT%”不是有效的时间值。
并且我导航到我的webapp时给出:指定的CGI应用程序遇到错误,服务器终止了进程。@Daboul-这是一个很好的信息,但未应用此设置。详细信息的原因是-我在这个页面上阅读了这些设置的详细信息-docs.microsoft.com/en-us/aspnet/core/host and-deploy/iis/…&结果是默认的hostingModel设置是InProcess&忽略了此托管模型的requestTimeout设置。这是该页面的快照“不适用于进程内托管。对于进程内托管,模块等待应用程序处理请求。”请让我知道这一点。如果您只是试图更改IIS上的请求超时,则可以查看此处:可能相关