Asp.net global.asax文件中的上下文为空

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

我有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,请问为什么我不能在“更新”函数中使用上下文?

应用程序\u Start
没有任何上下文

执行的第一个事件是
Begin\u Request


应用程序启动
发生在特定网站第一次启动或回收后


为了保持缓存项的更新,我建议您在
开始请求
中执行此操作,检查它是否存在,如果不存在,请再次启动


这样一来,它只能在站点被点击时使用内存,否则就不能了。

应用程序启动时没有任何上下文

执行的第一个事件是
Begin\u Request


应用程序启动
发生在特定网站第一次启动或回收后


为了保持缓存项的更新,我建议您在
开始请求
中执行此操作,检查它是否存在,如果不存在,请再次启动


这样,它只在站点被点击时使用内存,否则就不会使用。

谢谢您的回答,但它在更新函数而不是应用程序启动时为我提供了空上下文值。当然,如果出现错误,在请求过程中不会发生回调,它发生在后台,也没有上下文。@MiasSilentKiller用一个建议更新了我的答案谢谢你的回答,但它在更新函数时给了我空的上下文值而不是应用程序\当然,如果它出错,在请求期间不会发生回调,它发生在后台,也没有上下文。@MiasSilentKiller用一个建议更新了我的答案