电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-234

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

【应用场景】

在关闭当前业务对象时,检测是否有由此业务对象产生的后台任务正在运行中,如有,则给出相应提示


【注意事项】

支持版本: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格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信