Asp.net mvc 从QueueBackgroundWorkItem访问和设置应用程序变量
是否可以通过名为usingAsp.net mvc 从QueueBackgroundWorkItem访问和设置应用程序变量,asp.net-mvc,Asp.net Mvc,是否可以通过名为usingHostingEnvironment.QueueBackgroundWorkItem的方法访问ASP.NET MVC应用程序级变量 理想情况下,我希望能够做到以下几点: if (HttpContext.Current.Application["SomeCachedData"] == null) { HostingEnvironment.QueueBackgroundWorkItem(ct => { var someCachedDat
HostingEnvironment.QueueBackgroundWorkItem
的方法访问ASP.NET MVC应用程序级变量
理想情况下,我希望能够做到以下几点:
if (HttpContext.Current.Application["SomeCachedData"] == null)
{
HostingEnvironment.QueueBackgroundWorkItem(ct =>
{
var someCachedData = LongRunningDataLoadMethod();
HttpContext.Current.Application["SomeCachedData"] = someCachedData;
});
}
我知道我可以使用其他缓存库来实现这一点,但我想限制解决方案的复杂性。我想不出为什么不这样做。你为什么不试试呢?它应该和尝试一样简单。我在发布问题之前就尝试过了。它似乎不起作用,但我想可能有一些我不知道(也无法通过搜索找到)的技巧,你说它不起作用是什么意思?错误还是什么?首先:QueueBackgroundWorkItem接受返回回调的任务;当回调返回时,工作项将被视为已完成。但是你没有按照我的计划返回任务,我不认为为什么不。你为什么不试试呢?它应该和尝试一样简单。我在发布问题之前就尝试过了。它似乎不起作用,但我想可能有一些我不知道(也无法通过搜索找到)的技巧,你说它不起作用是什么意思?错误还是什么?首先:QueueBackgroundWorkItem接受返回回调的任务;当回调返回时,工作项将被视为已完成。但您没有按照返回任务