Asp.net WIndows 10中的IIS在几个请求后超时

Asp.net WIndows 10中的IIS在几个请求后超时,asp.net,iis,asp.net-web-api,Asp.net,Iis,Asp.net Web Api,我正在运行Windows 10和IIS 10.0.14393.0,并且有两个站点在同一个应用程序池中运行。两者都是VisualStudioMVC5项目,一个用于站点UI,另一个是连接到SQL数据库的WebAPI实例 例如,当我加载一个页面时,一个网格会被填充,它会发送后续的请求来填充列表中每一行的图像。加载页面后,它将处理一个图像,然后在其余图像上挂起/出错。它不是特定于任何特定请求的。我还有一个执行多个请求的更新,它发生在那里 返回的错误是操作已取消,但在下面的堆栈跟踪中,它似乎表明根目录下存

我正在运行Windows 10和IIS 10.0.14393.0,并且有两个站点在同一个应用程序池中运行。两者都是VisualStudioMVC5项目,一个用于站点UI,另一个是连接到SQL数据库的WebAPI实例

例如,当我加载一个页面时,一个网格会被填充,它会发送后续的请求来填充列表中每一行的图像。加载页面后,它将处理一个图像,然后在其余图像上挂起/出错。它不是特定于任何特定请求的。我还有一个执行多个请求的更新,它发生在那里

返回的错误是操作已取消,但在下面的堆栈跟踪中,它似乎表明根目录下存在Owin错误。我可以从浏览器中取消请求,并尝试加载其他页面,但在我等待它结束(大约2分钟)或停止并启动网站之前,它不会执行任何操作

这也发生在另一个有多个请求的页面上。它似乎与请求无关,只有当请求最终在另一个查询后面等待时。我已经将它隔离到我的盒子中,因为其他开发人员正在运行相同的项目和项目设置,并且没有这个问题

我还尝试将网站指向WebAPI的Azure实例,并取得了成功

当站点挂起时,我可以切换到SSMS并查询相同的数据而不会出现问题。我认为这是一个IIS问题,但不确定如何解决

此外,当网站挂起时,我无法显示同一网站上的elmah错误。因此,不允许任何请求通过

我读过一些关于某个请求的内容,该请求导致IIS关闭连接,并且基于它检测到的某个问题而不允许它打开。我不记得在哪里看到的

编辑:

不知道为什么,但我在下面提到的超时我认为是误导。下面是它最初开始失败的实际堆栈跟踪。当这种情况发生时,如果我尝试打开另一个页面,Chrome会在其状态栏中显示“等待可用套接字”

System.OperationCanceledException:操作已取消。位于System.Web.Http.HostAuthenticationFilter.d_u0.MoveNext()的System.Threading.CancellationToken.ThrowoOperationCanceledException()处
---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在System.Web.Http.Controllers.AuthenticationFilterResult.d_u0.MoveNext()上引发异常的上一个位置的堆栈结束跟踪
---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在System.Web.Http.Dispatcher.HttpControllerDispatcher.d_u1.MoveNext()上引发异常的上一个位置的堆栈结束跟踪
---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForOnSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)在System.Web.Http.Owin.PassiveAuthenticationMessageHandler.d_u0.MoveNext()上引发异常的上一个位置的堆栈结束跟踪
---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForOnSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在System.Web.Http.HttpServer.d_u0.MoveNext()上引发异常的上一个位置的堆栈结束跟踪
---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForOnSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)在System.Web.Http.Owin.HttpMessageHandlerAdapter.d_u0.MoveNext()上引发异常的上一个位置的堆栈结束跟踪
---在Microsoft.Owin.Cors.CorsMiddleware.d__0.MoveNext()中,从引发异常的上一个位置(在System.Runtime.CompilerServices.TaskAwaiter.ThrowForOnSuccess(任务任务任务)处)开始的堆栈结束跟踪(在System.Runtime.CompilerServices.TaskAwaiter.ThrowForOnSuccess(任务任务任务任务任务)处)
---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)和System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)上引发异常的上一个位置的堆栈结束跟踪在Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.d_u5.MoveNext()中
---来自引发异常的上一个位置的堆栈结束跟踪—在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)在Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.d_u_0.MoveNext()
---来自引发异常的上一个位置的堆栈结束跟踪—在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)在Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.d_u_0.MoveNext()
---来自引发异常的上一个位置的堆栈结束跟踪—在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)在Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.d_u_0.MoveNext()
---来自引发异常的上一个位置的堆栈结束跟踪—在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)在Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.d_u_0.MoveNext()
---嗯
System.OperationCanceledException: The operation was canceled.    at System.Threading.CancellationToken.ThrowOperationCanceledException()   at System.Web.Http.HostAuthenticationFilter.<AuthenticateAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Web.Http.Controllers.AuthenticationFilterResult.<ExecuteAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Web.Http.Owin.PassiveAuthenticationMessageHandler.<SendAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Web.Http.HttpServer.<SendAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Web.Http.Owin.HttpMessageHandlerAdapter.<InvokeCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Owin.Cors.CorsMiddleware.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.<RunApp>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.<RunApp>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.<DoFinalWork>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---    at Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.End(IAsyncResult ar)    at System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)