如何对执行的长任务进行页面关闭前干预

【应用场景】
在关闭当前业务对象时,检测是否有由此业务对象产生的后台任务正在运行中,如有,则给出相应提示。
【注意事项】
支持版本:PT-151005 [8.2.0.20231109]。
【案例演示】
二开表单,执行长任务时,在页面关闭的时候自动检测是否可以关闭。
【实现步骤】
<1>编写表单插件,代码如下:
namespace BOSTest.Zy.PlugIn
{
[HotUpdate]
/// <summary>
/// 长任务页面关闭测试
/// </summary>
[Description("长任务页面关闭测试")]
public class LongWorkerPlugIn : AbstractDynamicFormPlugIn
{
public override void ButtonClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.ButtonClickEventArgs e)
{
base.ButtonClick(e);
if (e.Key.EqualsIgnoreCase("FButton_qtr"))
{
StartTask();
}
}
private void StartTask()
{
LongTaskWatcher longTask = new LongTaskWatcher();
longTask.IsForbidCancel = false;//是否禁止强制关闭(默认false可以强制关闭,如果有超时,则超时后可以强制关闭)
longTask.TimeOut = 20;//超时时间(单位:秒,超时后将强制退出)
longTask.IsTimeOutIgnoreConfirm = false;//超时忽略消息提醒
this.View.AddLongTaskWatcher(longTask);
Task.Factory.StartNew(() =>
{
//执行长任务...
//模拟进度
try
{
Thread.Sleep(1000);
RefeshTask(longTask.WatcherId, 10);
Thread.Sleep(2000);
RefeshTask(longTask.WatcherId, 30);
Thread.Sleep(5000);
如何对执行的长任务进行页面关闭前干预
【应用场景】在关闭当前业务对象时,检测是否有由此业务对象产生的后台任务正在运行中,如有,则给出相应提示。【注意事项】支持版本:PT-1...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



