二开案例.表单插件.缓存清理(按区段清理)

【应用场景】
实现类似标准产品中的缓存管理功能,按区段清除缓存。

【案例演示】
新建动态表单,实现按区段清除理缓存的功能。

【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Cache;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Web;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】缓存清理(按区段清理)
/// </summary>
[Description("【表单插件】缓存清理(按区段清理)"), HotUpdate]
public class ClearCacheByAreaRegionFormPlugIn : AbstractDynamicFormPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.Equals("tbClear", StringComparison.OrdinalIgnoreCase))
{
// 区
var area = (string)this.Model.GetValue("F_Jac_Area");
if (string.IsNullOrWhiteSpace(area))
{
this.View.ShowMessage("请输入缓存所在区名!");
return;
}
#region 清除IIS缓存
if (area == "HttpRuntime.Cache")
{
var keys = new List<string>();
var enumerator = HttpRuntime.Cache.GetEnumerator();
while (enumerator.MoveNext())
{
keys.Add(enumerator.Key.ToString());
}
foreach (var key in keys)
{
HttpRuntime.Cache.Remove(key);
}
this.View.ShowMessage("缓存已清理!");
return;
}
#endregion
#region 清除金蝶缓存
// 段
二开案例.表单插件.缓存清理(按区段清理)
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



