我有一个asp.net页面,它调用一个dll,它将启动一个更新产品信息的长进程。在流程运行时,我希望为用户提供有关该流程所针对的产品以及产品状态的持续更新。我一直无法让这个工作。我将信息添加到日志文本文件中,我想我会重定向到一个新页面并让该页面每隔几秒就使用Javascript从文本文件中读取。我的问题是有没有其他人试过这个并且它的效果相当好吗?
答案 0 :(得分:2)
我会使用Ajax并轮询该文本文件以进行更新。
答案 1 :(得分:0)
答案 2 :(得分:0)
不是将状态输出到基于文本的日志文件(或者,除了使用日志文件;您可以同时使用两者),您可以将状态输出到数据库表。例如,将表结构如下:
Queue:
id (Primary Key)
user_id (Foreign Key)
product_id (Foreign Key) //if available
batch_size //total set of products in the batch this message was generated from
batch_remaining //number remaining in this batch
message
所以现在你有一个队列。现在,当用户访问特定页面时,您可以执行以下两项操作之一:
您可以在发送后删除队列中的行,或者如果您想保留该数据,请添加另一个名为sent
的列,并在用户看到后将其设置为true
那个数据。