首页 > Windows开发 > 详细

c#依赖文件缓存

时间:2015-09-30 11:08:24      阅读:265      评论:0      收藏:0      [点我收藏+]
        public  void RemovedCallbackRole(string key, object value, CacheItemRemovedReason reason)
        {
            // 在应用程序启动时运行的代码
            BLL.JUESE bll = new BLL.JUESE();
            //显示当前时间,以便判断是否为缓存中页面
            //缓存依赖于文件TextFile.txt
            //string fileDependencyPath = "F:\\View\\code\\cm1test\\Web\\TextFile.txt";
            // 设置缓存的过期时间为120秒。
            DataTable dt = new DataTable();
            dt = bll.GetList(" isdel=‘0‘ ");
            CacheItemRemovedCallback onRemove = new CacheItemRemovedCallback(RemovedCallbackRole);
            //rolefile 文件物理地址
            objCache.Insert("role", dt, new CacheDependency(rolefile), Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);


        }

 

在应用程序的Global文件中声明  Cache objCache = null;

  void Application_Start(object sender, EventArgs e)
    {
            // 在应用程序启动时运行的代码
            objCache = HttpRuntime.Cache;
            RemovedCallbackRole(null, null, 0);

    }

    void Application_End(object sender, EventArgs e)
        {
            //  在应用程序关闭时运行的代码
            HttpRuntime.Cache.Remove("role");
        }

在ORacle数据库中创建触发器,当角色表变动的时候更新依赖的文件内容

创建一个directory:

create or replace directory FILEPATH as 依赖文件的路径;
grant read,write on directory FILEPATH to 数据库用户;

例如:
create or replace directory FILENAME as C:\cc;

grant read, write on directory FILENAME to FLZD


创建触发器:

CREATE OR REPLACE TRIGGER "TEST_ROLE" AFTER
INSERT
OR UPDATE
OR DELETE OF "NAME","ROLETYPE" ON "USER"."ROLE"
DECLARE
filehandle utl_file.file_type;
BEGIN
--第三个参数为打开模式,包括‘r‘, ‘w‘, ‘a‘ ‘rb‘, ‘wb‘, ‘ab‘六种
--‘r‘:读文件,一定要保证有该文件,不然会报UTL_FILE.INVALID_PATH异常
--‘w‘:写文件,没有该文件的话会自动添加;有的话会覆盖
--‘a‘:追加文件,一定要保证有该文件,在已有文件内容后追加内容
--带有‘b‘后缀的为使用byte模式,BLOB与VARCHAR2不一样,BLOB打开时一定要用带有‘b‘后缀的模式
filehandle := utl_file.fopen(‘FILENAME‘,‘HELLO.txt‘,‘w‘); --打开文件
utl_file.put_line(filehandle,‘Hello Oracle!‘);--写入一行记录
utl_file.put_line(filehandle,to_char(SYSDATE,‘yyyy-mm-dd hh24:mi:ss‘));
utl_file.fclose(filehandle);--关闭句柄
END;

 
 

 

c#依赖文件缓存

原文:http://www.cnblogs.com/bweb/p/4848355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!