(100分)请教一下winform程序怎么去控制运行多个耗时任务模块比较好?

tteagle 2014-07-20 04:24:10
简单介绍:
1、程序采用winform开发,24小时开着,类似于后台服务这样的应用场合。
2、需要可以随时点击运行十几个功能小模块中的随便一个。
3、定时批量任务,比如早上5:00运行其中的5个小模块,必须在一个模块运行完以后才可以运行另外的一个,一个一个接着来。
4、定时运行或者点击按钮运行小功能模块时,主界面要有相应,随时显示当前功能模块里面的运行状态
5、目前我自己已经基本实现了以上需求,采用backgroundworder类,但感觉一个一个的写很麻烦,扩展也不便,有没有更好一点的方案?
...全文
277 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tteagle 2014-07-24
  • 打赏
  • 举报
回复
基本搞定,结贴。采用参数调用一个backgroundworker,然后做了一个任务queue,基本上达到要求了,谢谢诸位。
  • 打赏
  • 举报
回复
引用 6 楼 tteagle 的回复:
具体的多线程处理我会,backgroundworder可以满足要求。我的意思是以后如果模块继续增加的话怎么扩展比较方便。
.net framework中内置了 MEF 框架。
tteagle 2014-07-22
  • 打赏
  • 举报
回复
谢谢各位的回复,大概有点思路了,打算采用队列的方法 类似于这样http://bbs.csdn.net/topics/380243929
明天上班 2014-07-21
  • 打赏
  • 举报
回复
建议你把操作全写在小控件里,提供开启,关闭的接口,然后把小控件用list装在一起,可以用list监控小控件状态,然后调用的时候就调用backgroundworder就可以了,只能开启一个小控件,没有并发性,所以只要一个backgroundworder就可以了。
rayyu1989 2014-07-21
  • 打赏
  • 举报
回复
事务线程 100毫秒从list检查下时间点 达到时间点的开始执行
tteagle 2014-07-21
  • 打赏
  • 举报
回复
谢谢回复,不过我不懂怎么抽象了.....
PaulyJiang 2014-07-21
  • 打赏
  • 举报
回复
建议抽出来一个公用对象,然后用一个链表来完成 比如A =F1+F2+F3+F4 这样去做
michaelbob518 2014-07-21
  • 打赏
  • 举报
回复
过来学习学习..
threenewbee 2014-07-20
  • 打赏
  • 举报
回复
用wf工作流,并且托管在Windows服务中最好。
tteagle 2014-07-20
  • 打赏
  • 举报
回复
具体的多线程处理我会,backgroundworder可以满足要求。我的意思是以后如果模块继续增加的话怎么扩展比较方便。
derekrose 2014-07-20
  • 打赏
  • 举报
回复
按需求抽象。
violet725 2014-07-20
  • 打赏
  • 举报
回复
Task满足你的需要
EdsionWang 2014-07-20
  • 打赏
  • 举报
回复
那就开线程去处理吧
tteagle 2014-07-20
  • 打赏
  • 举报
回复
谢谢回复,不过我需要所有功能模块都可以点击触发,也可以定时运行,还需要保证UI不卡。
EdsionWang 2014-07-20
  • 打赏
  • 举报
回复
能否将部分功能抽出来,做成系统服务一直开着。其他部分放在界面中,需要点击时触发。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧