【问题标题】:Background process in asp.netasp.net中的后台进程
【发布时间】:2023-03-28 07:27:01
【问题描述】:

提前感谢您阅读并回答此问题。

我在 asp 2.0 中有一个按钮,可以处理一些大的事情。这需要一些时间才能完成(超过 30,000 次比较),我想知道如果浏览器说它失去了与服务器的通信,服务器会完成这个过程吗?

【问题讨论】:

    标签: c# asp.net background


    【解决方案1】:

    您可能希望修改您的架构,以便 HTTP 响应不依赖于超时期限内的处理完成。听起来好像您不会根据问题的计算结果告诉用户任何事情。您可以使用不同的方法,但大多数方法涉及将消息写入队列,然后拥有一个单独的进程,例如 Windows 服务监视器该队列并单独执行长时间运行的工作。

    【讨论】:

    • 酷。我不需要向用户显示任何消息(它将在后台发送一封带有数据 CVS 文件的电子邮件)。所以我应该使用?线?背景资料?
    • 您可以使用线程、BackgroundWorker 类、带有单独监控服务的 MSMQ,或者我没有想到的更多。
    • 谢谢伙计。现在我只是将代码导出到控制台应用程序。它持续约 8-9 小时才能完成,但它奏效了。感谢您的信息。
    【解决方案2】:

    您不应在站点上实时执行此按钮,而应生成线程服务器端。

    您可以使用 AJAX 告诉服务开始比较并稍后收听答案。

    【讨论】:

    • 谢谢。现在我得到了一个按钮,它用一个参数调用函数,然后完成所有过程。那么线程会是什么样子呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多