`
wodamazi
  • 浏览: 1419877 次
文章分类
社区版块
存档分类
最新评论

App_Code中的类如何访问Cache?

 
阅读更多

App_Code中的类如何访问Cache?

一位学生来邮件问以下问题:

金老师:
您好,我在学习中遇到一个奇怪的问题。自己这么也想不明白。身边也没有人可以请教。
只好麻烦您了,希望得到解答。

在.aspx.cs中存在一个Cache对象,我在.aspx.cs中使用Cache.Insert("key",object)方法装
载一个解析后的xml对象放入Cache中,这样做一切正常。
可是后来我想在单独在App_Code文件夹里单独建一个.cs文件做同样的事情,却发现在这里不
能直接调用Cache对象对象了,
于是我using System.Web.Caching后自己定义了一个Cache对象,然后用这个对象来Insert;

mychche = new Cache();
if (mychche["xmlen"] == null)//在这里报NullReferenceException
{}
真的这么也搞不明白这里为什么会NullReferenceException,mychche明明已经初始化了,myc
hche["xmlen"]我在前面也已经Insert(key,object)了,
希望得到您的帮助
谢谢了

============================

回答:

你这样用,在App_code中:
public class MyUseCache
{
public MyUseCache()
{
//
//TODO: 在此处添加构造函数逻辑
//
}

public void InsertCache(HttpContext context)
{
context.Cache.Insert("cacheKey", "hello2");
}
}

在ASP.NET网页中:

public partial class UseCache : System.Web.UI.Page
{
private MyUseCache obj = new MyUseCache();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
obj.InsertCache(Context);
Response.Write("Data is Added to Cache");
}
else
Response.Write(Cache["cacheKey"]);
}
}
你问题的关键在于:
App_Code中的类是全局类型,所有页面都可以创建它的实例,而每个页面都生存于特定HTTP请求上下文中。
因此,通过将特定的上下文对象传送给它,就能访问到Cached对象。

分享到:
评论

相关推荐

    金蝶BOSV6.1_业务组件API参考手册

    com.kingdee.bos.appframework.client.servicebinding com.kingdee.bos.appframework.databinding com.kingdee.bos.appframework.exception com.kingdee.bos.appframework.stateManage ...

    Programming.Google.App.Engine.with.Java

    Because App Engine supports common Java API standards, your code stays clean and portable. Get a hands-on introduction to App Engine's tools and features, using an example application Simulate App ...

    electron builder 打包出错资源包。 nsis、winCodeSign、nsis-resources资源,解压即用

    在国内使用electron builder打包程序,难免会因为网络问题报错,本资源下载好了编译基本的工具,windows系统下解压到C:\Users\Administrator\AppData\Local\electron-builder\Cache即可,

    ASP.NET的网页代码模型及生命周期

    生成.aspx页面对应的类后会将该类与cs文件中的类进行协调生成新的类,该类会通过IIS在用户浏览页面时呈现在用户的浏览器中。 4.1.4 创建ASP.NET Web Application ASP.NET网站有一种好处,就是在编译后,编译器将整个...

    ngx_lua_rate:ngx_lua_rate

    ngx_lua_rate 功能 针对不同的url, 采用不同的... # lua_code_cache off; # 在lua脚本调试模式下使用 access_by_lua_file /opt/app/nginx/conf/lua/rate_limit.lua; ... } } todo 防御cc攻击 进入灰1阶段次数统计

    ecmall插件

    $code = str_replace('{goods_full_name}', $val['goods_name'], $code); $code = str_replace('{goods_price}', $val['price'], $code); $code = str_replace('{goods_url}', site_url() . '/index.php?...

    wechat-nginx-lua-jssdk:Nginx+Lua实现微信分享接口 JS-SDK

    lua_code_cache on; lua_shared_dict wechat 1m; server {} 新增 location = /wechat/signature { resolver 8.8.8.8; access_by_lua_file conf/lua/sign.lua; } 修改 lua/sign.lua _M.appId = 'your appid' _M....

    WOC开源网站运营管理系统 v1.3.zip

    WOC 1.1在1.0的基础上进行了代码规范并增加了配置数据缓存,以提高访问速度 注意:升级时要重新建立安装路径,此外在linux系统中安装时请注意设置cache目录的读写权限为0777 WOC 1.2在1.1的基础上增加了缓存管理,...

    XK在线考试系统源码XKOnLine.zip

    │ ├─App_Code │ │ CommonClass.cs │ │ │ ├─App_Data │ ├─App_Themes │ │ └─mytheme │ │ OnLineSkin.skin │ │ │ ├─Bin │ │ FreeTextBox.dll │ │ OnLineBLL.dll │ │ OnLineBLL.pdb │...

    C#基类库(苏飞版)

    app消息格式化类,返加字符串帮助类 ResourceManager C#一个操作Resource的帮助类 ResourceManagerWrapper Resources 操作Resources的帮助类,使用Api的方式 Sample.xml 11.XML操作类 XmlHelper 操作Xml文档的...

    pcf8563_i2c1_r8_ruoge_ov2640通过给RTC驱动增加设备节点读取秒钟成功+直接读取I2C1获取秒钟值20160626_2201.7z

    通过/dev/i2c-n节点,用户可以在userspace直接访问板上的i2c外设寄存器,主要是透过I2C_RDWR这个IO控制命令将i2c_msg数组传递给kernel去执行。 开发板的/dev/i2c-1总线下挂有一片I2C的RTC:pcf8563。 root@android...

    hibernate.properties

    ## the Transaction API abstracts application code from the underlying JTA or JDBC transactions #hibernate.transaction.factory_class org.hibernate.transaction.JTATransactionFactory #hibernate....

    基于Django,keras,axios, echats的智能股票分析系统源码+文档(集成LSTM的实践序列预测算法).zip

    > - data:ts_code.csv(代码为ts_code的股票的数据存放文件),allStock.csv(存放所有股票的简要信息) > - backup:保存临时的代码文件,无用,可以直接删除 **重点说明stockapp下的各种文件作用** > ![img](image/...

    myq-app:此应用程序提供了爱尔兰政府面对面服务的排队时间的估计

    myq-app 此应用程序提供了爱尔兰政府面对面服务的排队时间的估计。 它是由Code for Ireland的志愿者小组于2014年开发的。正在做部署到和最新更改更新图标。 考虑一下生成我自己的引导程序版本并切换到超棒的字体。去...

    Deliver.Audacious.Web.Apps.with.Ember2

    Build a complete user interface in a few lines of code, create reusable web components, access RESTful services and cache the results for performance, and use JavaScript modules to bring abstraction ...

    magento-unit-tests-generator:旨在简化magento2单元测试创​​建的软件包

    测试类放置在app / code / Vendor / Module / Test / Unit / ...下的“测试对象类”模块中 如何安装 composer require olmer/magento-unit-tests-generator --dev php bin/magento cache:clean ...

    ASP.NET2.0高级编程(第4版)1/6

    3.7.1 \\App_Code文件夹66 3.7.2 \\App_Data文件夹70 3.7.3 \\App_Themes文件夹70 3.7.4 \\App_GlobalResources  文件夹71 3.7.5 \\App_LocalResources  文件夹74 3.7.6 \\App_WebReferences  文件夹74 3.7.7 \\...

    xUtils3 demo

    // * 客户端会根据服务端返回的 header 中 max-age 或 expires 来确定本地缓存是否给 onCache 方法. // 如果服务端没有返回 max-age 或 expires, 那么缓存将一直保存, 除非这里自己定义了返回false的 // 逻辑, ...

    google api php client

    [!... ... The Google API Client Library enables you to...use Cache\Adapter\Filesystem\FilesystemCachePool; $filesystemAdapter = new Local(__DIR__.'/'); $filesystem = new Filesystem($filesystemAdapter)...

    健身类小程序前后端源码.rar

    健身类小程序前后端源码 健身类小程序前后端源码 环境要求: PHP >= 7.0 (推荐7.2+) Laravel 5.6+ 安装步骤: 安装PHP环境(请自行百度) 将源码上传到 web 目录 参考 Laravel 安装步骤就可以了 小...

Global site tag (gtag.js) - Google Analytics