2011-08-11 54 views
4

我們有一臺運行着SQL配置提供程序的3臺機器緩存集羣。該服務在緩存主機上的域帳戶下運行(我們不使用安全性)。 SQL服務器也在域用戶帳戶下運行。我們在Network Service下運行緩存服務時遇到問題,根本無法連接到SQL。但是這種配置允許羣集平穩運行。AppFabric緩存:ErrorCode <ERRCA0017>:SubStatus <ES0001>:存在臨時故障。請稍後重試

有兩種類型的緩存客戶端。其中一個緩存客戶端是運行緩存服務的相同域帳戶下運行的本地C++ exe。這些緩存客戶端位於不同的機器上。所有這些客戶端都可以成功連接到緩存主機。

第二種類型的緩存客戶端是在網絡服務下運行的.NET Web應用程序。此客戶端無法將任何內容寫入/提取到緩存主機中。它能夠成功地初始化緩存工廠,但失敗:

`Creating Region for general use in default cache 

Error in Cache Call : ErrorCode<ERRCA0017>:SubStatus<ES0001>:There is a temporary  failure. Please retry later. : http://go.microsoft.com/fwlink/?LinkId=164049 
at Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBody respBody) 
at Microsoft.ApplicationServer.Caching.DataCache.CreateRegion(String region) 
at CacheAPISample.Program.CreateRegion(String myRegion) 
at CacheAPISample.Program.RunSampleTest() 
at CacheAPISample.Program.Main(String[] args)` 

從錯誤描述中沒有指出這是什麼類型的錯誤。我已確保domain \ clientmachinename $是允許的緩存客戶端。安全和保護功能已關閉。啓用防火牆規則(給定客戶端類型1可以成功調用,防火牆被排除爲問題)。

到目前爲止,我曾嘗試:

  1. 運行抽樣檢驗與客戶端類型2的域用戶,也使確保域用戶是允許緩存客戶端。

  2. 主機映射緩存服務器。

我應該怎麼做才能找到錯誤的實際根本原因?緩存主機上的日誌很乾淨。沒有錯誤。

+0

查看此相關的問題我的回答: http://stackoverflow.com/questions/6859523/appfabric-cache-concurrency-issue/6870353#6870353 –

+0

沒有弗羅德,我沒有併發Get請求的問題。相同的示例測試從客戶端類型1運行。我有另一個模擬此設置的堆棧,並且在那裏我有一切工作。我遇到了一些奇怪的Windows安全問題,我不是專家。 – Megha

+0

稍後重試適用於獲取和更新設置。另請注意,安全性非常重要。你們的客戶是否安裝? –

回答

4

就像後續一樣,我相信這是通過確保客戶端系統能夠通過計算機名稱(使用etc/hosts hack)解析AppFabric服務器而不是通過FQDN解決的。這似乎是一個已知的問題。不幸的是,這個和其他真正的故障的錯誤信息是相同的。

+0

是的感謝您使用分辨率更新線程。通過機器名稱主機映射緩存主機爲我們工作。是的,錯誤應該更具描述性,而不是拋出的一般錯誤。 – Megha