
```csharp
客户需求:点击按钮后会执行耗时操作,长达数小时,如何保证不超时。
解决方案:使用后台任务
1. 创建后台任务插件,继承IComputeTaskExecutor接口即可。
2. 用如下代码新增后台任务。
Context ctx = null; // 数据库上下文,请准备好
string title = string.Format("结算组织[({0}){1}],正在进行核销", settOrgNumber, settOrgName); // 任务的标题
long userId = ctx.UserId; // 发起任务的用户
object para = null;
IBackAppService server = Kingdee.BOS.App.ServiceHelper.GetService<IBackAppService>();
ComputeTask task = new ComputeTask();
task.BOSContext = ctx;
task.OriginatorId = userId;
task.ExecutorType = typeof(TaskExecutor); // IComputeTaskExecutor 的实现类;执行实际计算
task.Title = title;
Dictionary<string, object> dict = new Dictionary<string, object>();
dict.Add("MatchParameters", para); // 允