C# 缓存在生产环境中不起作用
我使用C# 缓存在生产环境中不起作用,c#,.net,asp.net-mvc,caching,C#,.net,Asp.net Mvc,Caching,我使用System.Web.Caching中的Cache来缓存数据库中的一些数据。当我从visualstudio在本地机器上运行应用程序时,它工作正常 但是,当我在IIS上的生产环境中运行它时,我在这一行得到了Null指针异常: cache.Insert("Postnumbers", postnumbers, dependency, DateTime.Now.AddDays(7), Cache.NoSlidingExpiration, Cac
System.Web.Caching
中的Cache
来缓存数据库中的一些数据。当我从visualstudio
在本地机器上运行应用程序时,它工作正常
但是,当我在IIS
上的生产环境中运行它时,我在这一行得到了Null指针异常
:
cache.Insert("Postnumbers", postnumbers, dependency,
DateTime.Now.AddDays(7), Cache.NoSlidingExpiration,
CacheItemPriority.Default, PostnumberRemovedCallback);
我检查了cache
、postnumbers
和dependency
,它们不为空。有人知道是什么导致了这个问题吗
堆栈跟踪:
[NullReferenceException: Object reference not set to an instance of an object.]
Solvent.Model.Persistance.General.Entities.GeneralData.LoadPostnumbers() in C:\Solvent\Solvent\Solvent.Model\Persistance\General\Entities\GeneralData.cs:39
Solvent.Model.SolventInitializer.InitializeCache() in C:\Solvent\Solvent\Solvent.Model\Context\SolventInitializer.cs:153
Solvent.Model.SolventInitializer.Initialize() in C:\Solvent\Solvent\Solvent.Model\Context\SolventInitializer.cs:105
Solvent.MvcApplication.Application_Start() in C:\Solvent\Solvent\Solvent\Global.asax.cs:42
我解决了。我替换了
var cache=new Cahce();cache.Insert()
和HttpRuntime.cache.Insert()
。
但我仍然不知道为什么first way可以在本地使用而不能在生产中使用。显示完整的堆栈trace@FildorCache、PostNumber和dependency都不是空的,这是我写的。@haim770我只得到这个:[NullReferenceException:对象引用未设置为对象的实例。]错误消息中没有更多信息。@Aleksa啊,覆盖了缓存。。。抱歉。@Aleksa在Blahdiblubb的第X行中没有“…号…”?