我正在开发一个主要使用Angular js和Dotnet核心的应用程序。对于一种报告功能,我们使用Ajax调用来调用MVC控制器以生成Excel输出。文件将由控制台应用程序生成。在正常情况下,它工作正常,但问题是当执行需要更多时间时,因为逻辑涉及许多迭代和过程,因此我们会遇到客户端异常,而用户无法下载生成的excel。下面是我在ajax错误处理程序中得到的错误日志
HTTP Error 502.3 - Bad Gateway
The specified CGI application encountered an error
and the server terminated the process.
Most likely causes:
The CGI application did not return a valid set of HTTP errors.
A server acting as a proxy or gateway was unable to process
the request due to an error in a parent gateway.
This error mainly occurs when the internet connection
is comparatively low and processing of excel creation takes more time for
some cases
在这种特殊情况下,如果长时间处理excel数据时发生异常,则会将其作为错误的网关503错误抛出到ajax错误处理程序中。但是服务器端没有执行失败,几秒钟后excel处理将成功完成。
因此,在此特殊情况下,我们的技术难题是将不会调用Ajax成功处理程序,并且用户不会意识到生成了excel,并且不会获得用于下载excel的消息框。因此,由于该未知异常被抛出到客户端,因此无法使用户知道excel导出已完成,并且消息框无法在客户端下载文件。我们尝试了几种方法,但是没有一种方法没有得到肯定的结果。
那么该怎么做才能处理此错误?我试图更改IIS中CGI应用程序的超时属性,并且它也无效。请帮助我解决此错误。