2017-09-13 55 views
-1

我使用CacheSystem.Web.Caching緩存來自數據庫的一些數據。當我在本地機器上運行應用程序從Visual Studio它工作正常。緩存在生產中不起作用

但是,當我在IIS生產運行它,我在這行得到Null pointer exception

cache.Insert("Postnumbers", postnumbers, dependency, 
      DateTime.Now.AddDays(7), Cache.NoSlidingExpiration, 
      CacheItemPriority.Default, PostnumberRemovedCallback); 

我查cachepostnumbersdependency和它們不爲空。任何人都知道什麼會導致這個問題?

堆棧跟蹤:

[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 
+1

顯示完整的堆棧跟蹤 – haim770

+0

@Fildor緩存,postnumbers和依賴不是null,我寫道。 – Aleksa

+0

@ haim770我只得到這個:[NullReferenceException:對象引用未設置爲對象的實例。]錯誤消息中沒有更多信息。 – Aleksa

回答

1

我解決它。我用HttpRuntime.Cache.Insert()替換了var cache = new Cahce(); cache.Insert()。 但我仍然不知道爲什麼第一種方式在當地生產而不是生產。