經過痛苦地嘗試讓我的虛擬環境啓動並使用Appfabric Caching(1.1)運行後,我能夠將2個節點運行到1個緩存集羣中。 這兩個顯示系統是好的。以前,這不是,而且是一種痛苦。AppFabric - 罰款,超時?
所以我現在創建一個演示應用程序。 該應用程序正在主機上開發,該主機可以連接到虛擬環境(使用VMware並且它們都位於除主機之外的域中)。
我可以把東西在緩存中,我可以看到緩存的統計數據反映了什麼我已經把在緩存中。 但是,當它 - 失敗!它只是超時,不知道爲什麼或去哪裏:
? u.Email
"[email protected]"
? CacheManager.Instance.Cache.GetCacheItem(u.Email)
'CacheManager.Instance.Cache.GetCacheItem(u.Email)' threw an exception of type 'Microsoft.ApplicationServer.Caching.DataCacheException'
base {System.Exception}: {"ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.. Additional Information : The client was trying to communicate with the server : net.tcp://AppFabricTwo.appfabric.demo.com:22233"}
ErrorCode: 18
HelpLink: "http://go.microsoft.com/fwlink/?LinkId=164049"
Message: "ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.. Additional Information : The client was trying to communicate with the server : net.tcp://AppFabricTwo.appfabric.demo.com:22233"
SubStatus: -1
TrackingId: {00000000-0000-0000-0000-000000000000}
我有AppFabricOne和AppFabricTwo。我可以在它們之間溝通沒有問題,我可以ping主機和從計算機本身訪問這些2(其託管虛擬機的)
任何想法,爲什麼這會是什麼呢? VM計算機上的Windows防火牆都被禁用,並且這些防火牆被連接到一個域(並使用SQL)。
我的代碼:
添加:
Random r = new Random();
int idChosen = r.Next(1, 99999);
User u = new User { LastName = "Bloggs", FirstName = "Joe", CellPhone = "(555) 555-5555", DOB = DateTime.Today.AddYears(-30), UserID = idChosen, Email = idChosen.ToString() + "@bloggs.com" };
DataCacheItemVersion item = CacheManager.Instance.Cache.Put(u.Email, u, this.txtRegion.Text);
檢索:
CacheManager.Instance.Cache.GetCacheItem(u.Email)
是的,我也嘗試過GetRegionItem但仍然給我相同的錯誤GetCacheItem。
感謝您的答覆。是的,我現在用的是同一個DataCacheFactory對象獲得的項目。我確實能夠ping通FQDN在AppFabricTwo和AppFabricOne上 –
我剛剛注意到你正在把物品放在一個特定的區域,但是在Get調用期間,我沒有看到包含區域,如果你沒有指定區域,然後只是做一個get ,這是否工作? –
嗯,我也嘗試過GetRegionItem,我仍然有同樣的問題。它可以在單個工作站上正常工作,但我想在域中使用一組機器來完成此操作並能夠訪問它。 –