二开案例.服务插件.操作完成后清理缓存

【应用场景】
缓存自动清理功能,有时候会因为某些未知的原因,偶发性的实现,此时,可在保存操作上强制清理缓存。
【案例演示】
仓库保存后,强制刷新缓存。
【实现步骤】
<1>编写服务插件,代码如下。
using Kingdee.BOS;
using Kingdee.BOS.App.Core;
using Kingdee.BOS.Core.Const;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.FormElement;
using Kingdee.BOS.Util;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
namespace Jac.XkDemo.BOS.App.PlugIn
{
/// <summary>
/// 【服务插件】操作完成后清理缓存
/// </summary>
[Description("【服务插件】操作完成后清理缓存"), HotUpdate]
public class ClearDataCacheServicePlugIn : AbstractOperationServicePlugIn
{
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
base.AfterExecuteOperationTransaction(e);
if (this.FormOperation.OperationId == FormOperation.Operation_Save)
{
// 仓库保存后,强行刷新缓存
var keys = e.DataEntitys.Select(o => o["Id"].ToString()).ToList();
ClearCacheByPrimaryKeys(this.Context, this.BusinessInfo, keys);
}
}
/// <summary>
/// 清理缓存(只清理指定内码的数据缓存)
/// </summary>
/// <param name="ctx">上下文</param>
/// <param name="businessInfo">业务对象元数据</param>
二开案例.服务插件.操作完成后清理缓存
【应用场景】缓存自动清理功能,有时候会因为某些未知的原因,偶发性的实现,此时,可在保存操作上强制清理缓存。【案例演示】仓库保存后,...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



