来自IIS的许多响应都以OperationCanceledException结尾,从而导致500内部服务器错误

时间:2019-03-16 11:59:59

标签: c# asp.net-web-api iis-7.5 internal-server-error intermittent

在生产环境中我们遇到一个问题,但是在本地DEV环境中没有看到任何问题。

问题: 我有一个API  -/ api / GenerateAutoPdf / {Guid}(POST) 根据此请求的响应,我们正在UI(客户端)中打开一个模式。 因此,如果上述POST请求的响应为200,则“打印模式”将在UI中打开,以便用户可以选择生成的PDF,然后可以从模式中打印那些生成的PDF。

如果响应为500,则由于内部服务器错误,将不会打开打印模式。

在一种情况下,即使服务器响应为500,也生成了PDF,但未显示“打印模态”,因为这不是“ 200”确定的响应。打印模式没有出现。这个问题确实是断断续续的。

问题: 在调试问题时查找500错误的根本原因。

在事件查看器中,我可以看到此特定API请求的“ OperationCanceledException”。 enter image description here

enter image description here

我浏览了一些有关查找“ OperationCanceledException”根本原因的文章

在大多数情况下,通用点是可能是由于客户端关闭了浏览器窗口(浏览器在其中发送取消令牌)所致。 但是事实并非如此,我无法重现该问题。

此外,事件查看器日志中有很多针对不同API的“ OperationCanceledExceptions”,但对于那些API,我们并没有真正阻止它们。而且这还表明用户没有关闭浏览器窗口,并且仅在某些用户可能发生浏览器问题的情况下,这种情况并未发生。

有人可以解决此问题吗?或者你们可以让我知道解决此问题的途径或调试此问题的任何技巧吗?

当网络中有数据包丢失时,会发生此问题吗?

注意:这是服务器问题,我们正在使用的客户端技术堆栈无关紧要。

0 个答案:

没有答案