我們的應用程序正在緩存實體框架對象,以便我們的負載平衡網站可以共享緩存項目,而不是服務器A和B,可能會顯示不同的內容(使用in-內存緩存)。緩存代理EF對象到AppFabric,無法在新部署後檢索對象
但是,在完成部署之後,我們無法從緩存中檢索對象。下面引發錯誤:
解串器無法加載型反序列化,因爲類型「System.Data.Entity.DynamicProxies.Banner_FDE1BA817D206A7F0FED7955D1DAA7B97FEEF3213D26B91515A9AC18E73619EC」不能在裝配「EntityFrameworkDynamicProxies-MyAssembly程序,版本= 1.0.0.0,文化中找到=中立,PublicKeyToken = null'。檢查被序列化的類型是否與被反序列化的類型具有相同的合約,並使用相同的程序集。
從我所收集,我們已經緩存在舊的DLL的EF代理的版本到AppFabric的,現在檢索該對象被絆倒EF過,因爲它不知道它在我們的新的DLL的上下文類型。我們已經在這兩個部署之間進行了一些遷移,因此有效地更改了數據庫模型。
我該如何解決這個問題?我想我必須從AppFabric中移除緩存的對象並重新添加 - 但是接下來的版本可能會遇到同樣的問題。
好的建議 - 謝謝。我們必須將基於EF的對象「克隆」回自己,然後對其進行緩存,似乎工作得很好。乾杯:) –