我在單臺機器(域註冊的Windows 7企業版)上安裝了AppFabric 1.1 x64(Hosting + Cache)。安裝和配置完美無瑕(只有一臺機器的集羣,存儲在SQL中的配置),我在本地運行一切(包括SQL Server 2008 R2)。當我要開始「AppFabric緩存服務」出現問題 - 它崩潰了幾秒鐘後,並輸入以下內容出現在管理事件(在事件查看器):AppFabric 1.1緩存(崩潰的Windows服務)
Faulting application name: DistributedCacheService.exe, version: 1.0.4632.0, time stamp: 0x4eafeccf
Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e21213c
Exception code: 0xe0434352
Fault offset: 0x000000000000cacd
Faulting process id: 0x1928
Faulting application start time: 0x01ccb8c5266c0fd5
Faulting application path: C:\Program Files\AppFabric 1.1 for Windows Server\DistributedCacheService.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 6457890a-24b8-11e1-b051-70f1a19c8456
和
Application: DistributedCacheService.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.UriFormatException
Stack:
at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartServiceCallback(System.Object)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
和
AppFabric Caching service crashed with exception {System.UriFormatException: Invalid URI: The hostname could not be parsed.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at Microsoft.ApplicationServer.Caching.ServiceConfigurationManager.InitializeThisHostData()
at Microsoft.ApplicationServer.Caching.ServiceConfigurationManager.InitializeDataFromGlobalConfig()
at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartService(Boolean deleteTKT)
at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartServiceCallback(Object context)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()}. Check debug log for more information
下面是基本PowerShell命令的輸出:
獲取-CacheHost
HostName : CachePort Service Name Service Status Version Info
-------------------- ------------ -------------- ------------
MW7GM0B50ROMDQ:22233 AppFabricCachingService DOWN 3 [3,3][1,3]
GET-CacheHostConfig
cmdlet Get-CacheHostConfig at command pipeline position 1
Supply values for the following parameters:
HostName: MW7GM0B50ROMDQ
CachePort: 22233
HostName : MW7GM0B50ROMDQ
ClusterPort : 22234
CachePort : 22233
ArbitrationPort : 22235
ReplicationPort : 22236
Size : 3994 MB
ServiceName : AppFabricCachingService
HighWatermark : 99%
LowWatermark : 90%
IsLeadHost : True
緩存服務被設置爲被作爲網絡服務運行。
你有什麼線索可能是錯的嗎?我見過「URI無效:主機名無法解析。」消息,但配置中的名稱似乎完全正常(即使它看起來很奇怪,它是我的計算機的專有名稱)。任何幫助,將不勝感激。
P.S.我之前有過AppFabric 1.0,它似乎工作正常。我在安裝AppFabric 1.1之前卸載了它。
我已經成功地樹立了正確的版本信息,但遺憾的是... ,客戶端連接導致AppFabric緩存服務崩潰並帶來一個有趣的評論:「無效的枚舉值'AdditionalRoutingProps'無法反序列化到類型'Microsoft.ApplicationServer.Caching.NamedCacheProp erty'」。我已經向微軟提出了這個問題,也許他們能夠提供幫助。 –
問題解決。 GAC中的AppFabric DLL仍然是安裝在1.0發行版中的DLL。只能在Program Files的AppFabric目錄中找到1.1個DLL(或者你選擇安裝它的任何地方)。 總結 - 我是(並非故意)試圖訪問1.1客戶端的服務器。更新項目中的引用後,一切正常。 –
謝謝!這救了我,從HOSTS文件中刪除條目解決了我的問題。我有一個只有{machinename}的條目,一旦刪除了一切開始工作。 – Dribbel