2012-01-22 232 views
2

我一直在使用Enyim Memcached Client for .Net,試圖連接到運行在AppHarbor上的服務器。我的配置文件的相關部分如下所示:超時異常嘗試連接到AppHarbor上的Memcached服務器

<enyim.com> 
    <log factory="Enyim.Caching.DiagnosticsLogFactory, Enyim.Caching" /> 
    <memcached protocol="Binary"> 
     <servers> 
     <add address="8d593f28-37d7-4c4f-a702-aa7687a85ea1.memcacher.com" port="11211" /> 
     </servers> 
     <authentication 
      type="Enyim.Caching.Memcached.PlainTextAuthenticator, Enyim.Caching" 
      userName="changed to post on stack overflow" 
      password="changed to post on stack overflow" 
      zone="AUTHZ" 
       /> 
     </memcached> 
    </enyim.com> 

我的連接保持超時。任何想法這裏發生了什麼?以下是Enyim客戶端的日誌:

2012-01-21 18:56:08 [錯誤] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - 無法初始化池。 - System.TimeoutException:在Enyim.Caching.Memcached.PooledSocket.ConnectWithTimeout(Socket套接字,IPEndPoint端點,Int32超時)上無法連接到50.19.210.46:11211 Enyim.Caching.Memcached.PooledSocket..ctor(IPEndPoint端點)上的 ,時間跨度connectionTimeout,時間跨度receiveTimeout) 在Enyim.Caching.Memcached.MemcachedNode.CreateSocket() 在Enyim.Caching.Memcached.Protocol.Binary.BinaryNode.CreateSocket() 在Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.CreateSocket () at Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl.InitPool() 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - 標記爲50.19請求死亡。 210.46:11211 2012-01-21 18:56:08 [調試] 7 Enyim.Caching .Memcached.MemcachedNode.InternalPoolImpl - FailurePolicy.ShouldFail():True 2012-01-21 18:56:08 [WARN] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - 將節點50.19.210.46:11211標記爲死亡 2012 -01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.DefaultServerPool - 節點50.19.210.46:11211已死亡。 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.DefaultServerPool - 啓動恢復計時器。 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.DefaultServerPool - 定時器啓動。 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - 從池中獲取流。 50.19.210.46:11211 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - 池已死或處置,返回null。 50.19.210.46:11211

UPDATE:

原來我無法連接到memcached服務器的原因是因爲它是從appharbor的環境中才能訪問。因此,對於其他人來說,在本地開發時需要使用本地memcached服務,然後只需在部署時更改憑據(該應用程序實際上會爲您自動執行)。問題已解決。

+0

錯誤消息似乎表明服務器不接受TCP連接。我沒有在這臺機器上安裝telnet,否則我會嘗試... –

回答

4

AppHarbor Memcacher桶只能從AppHarbor應用服務器訪問。 documentation已被修改,以清楚地反映這一點。

您應該使用本地安裝的memcached服務器進行測試。

相關問題