zoukankan      html  css  js  c++  java
  • c#依赖文件缓存

            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;

     
     
  • 相关阅读:
    虚拟机中安装CentOS7
    tensorflowwindows安装
    CentOS7离线安装Ambari与HDP
    (二)apache atlas配置和运行
    kafka资料收集
    kafka源代码环境配置
    文件传输遇到的坑
    故障保护设置
    多轴APM调参
    程序员考试操作步骤
  • 原文地址:https://www.cnblogs.com/bweb/p/4848355.html
Copyright © 2011-2022 走看看