gpt4 book ai didi

ASP.Net 连接为长时间运行的服务器端任务保持事件状态

转载 作者:行者123 更新时间:2023-12-02 10:39:31 25 4
gpt4 key购买 nike

我有一个在 IIS 上运行的 ASP.Net C# Web 应用程序,我支持该应用程序涉及生成 Word 文档。其中一些 Word 文档需要很长时间(即 20-30 分钟以上)才能生成。在我的开发服务器上进行测试时,我注意到服务器在进程完成之前很久就关闭了连接,服务器端 ASP.Net 代码本身进入循环并在单词文档生成完成时更新 bool 值的状态。

我的解决方法是通过在客户端实现动态动画等待屏幕(使用 jquery 和 ajax)来保持连接处于事件状态,该等待屏幕通过对服务器重复异步 AJAX 调用来更新,该服务器检查操作的状态来自服务器端 Web 方法。我在另一篇question中询问那篇文章.

我正在考虑的解决方案是否是解决此问题的最佳方法?在长时间运行的服务器端操作期间,是否有更有效或通用的方法来保持连接处于事件状态?感谢任何帮助或见解,谢谢。

更新:

我尝试了 Brian 的建议,不幸的是我仍然从 Chrome 中收到相同的错误,即没有从服务器发送数据,整个错误如下:

No data received Unable to load the webpage because the server sent no data.

Here are some suggestions: Reload this webpage later.

Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

我将按照所述在高级网站设置中设置连接超时并增加连接空闲设置来重试。

最佳答案

理想情况下,您可以使用套接字在进程完成时通知客户端。查看 socket.io 或 native Web-socket 实现来了解如何执行此操作。

关于ASP.Net 连接为长时间运行的服务器端任务保持事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9660920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com