我有global.asax文件,我使用这两个函数通过此代码每15秒更新一次缓存值:
protected void Application_Start(object sender,EventArgs e)
{
Context.Cache.Insert("value","some value",null,DateTime.Now.AddSeconds(15),Cache.NoSlidingExpiration,CacheItemProirirt.Default,new CacheItemRemovedCallback(updating));
}
private void updating(string key,object value,CacheItemRemoveReason reason)
{
Context.Cache.Insert("value","updated value",null,DateTime.Now.AddSeconds(15),Cache.NoSlidingExpiration,CacheItemProirirt.Default,new CacheItemRemovedCallback(updating));
}
但它给了我一个NullReferenceException,并且上下文为null,请为什么我不能在"更新"功能
答案 0 :(得分:2)
Application_Start
没有任何背景信息。
第一个事件是Begin_Request
。
Application_Start
。
为了保持缓存项目的续订,我建议你在Begin_Request
中执行此操作,在那里检查它是否存在,如果没有,请重新启动它。
这样,它只会在网站被点击时使用内存,否则不会。