保存当前进度或状态

时间:2013-08-18 17:50:04

标签: c#

我不知道如何解决我遇到的问题,但如果我的应用程序正在抓取Google关键字的1,000个网页,如果我取消任务,或者抛出异常,那么保存任务的最佳方法是什么?已经有,所以当它继续时,它会从它的当前位置恢复。

我是否序列化包含当前状态属性的对象?我从来没有处理过这个问题,也不确定实际搜索的内容。

2 个答案:

答案 0 :(得分:1)

我将评论转换为按要求回答。

我建议你将任务状态保存到文件中。到State我的意思是你的程序正在进行的工作的当前状态。

例如,如果您的应用程序的任务是解析n个文件。它在中间遇到异常,假设文件索引为45。保存在45中的临时文件中,以便在应用程序再次运行时查询临时文件以查看是否有任何待处理任务,如果是,则从该点继续。

即使我也不知道任何编程模式说这种方法,我只是提出了我的想法。

答案 1 :(得分:0)

与数据库一样,使用硬盘:

  • 在文件中规划您的未来任务
  • 每次完成任务时,请附加一些文本(任务ID o any)

你必须处理一些并发性,但我认为你可以处理它

使用XML可能更为高级,可以保存您的工作计划,但在此之后记录具有已完成任务ID的文件会更加简单。