Asp.net global.asax文件中的上下文为空
我有global.asax文件,我使用这两个函数通过以下代码每15秒更新一次缓存值:Asp.net global.asax文件中的上下文为空,asp.net,Asp.net,我有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 CacheItemR
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,请问为什么我不能在“更新”函数中使用上下文?
应用程序\u Start
没有任何上下文
执行的第一个事件是Begin\u Request
应用程序启动
发生在特定网站第一次启动或回收后
为了保持缓存项的更新,我建议您在
开始请求
中执行此操作,检查它是否存在,如果不存在,请再次启动
这样一来,它只能在站点被点击时使用内存,否则就不能了。
应用程序启动时没有任何上下文
执行的第一个事件是Begin\u Request
应用程序启动
发生在特定网站第一次启动或回收后
为了保持缓存项的更新,我建议您在开始请求
中执行此操作,检查它是否存在,如果不存在,请再次启动
这样,它只在站点被点击时使用内存,否则就不会使用。谢谢您的回答,但它在更新函数而不是应用程序启动时为我提供了空上下文值。当然,如果出现错误,在请求过程中不会发生回调,它发生在后台,也没有上下文。@MiasSilentKiller用一个建议更新了我的答案谢谢你的回答,但它在更新函数时给了我空的上下文值而不是应用程序\当然,如果它出错,在请求期间不会发生回调,它发生在后台,也没有上下文。@MiasSilentKiller用一个建议更新了我的答案