2014-04-01 53 views
1

我嘗試通過ConnectionMultiplexer.Connect("127.0.0.1");連接到我的Redis服務器實例,但儘管沒有服務器啓動並運行,但連接不會引發錯誤,也不會引發任何ConnectionFailed事件。我加倍檢查了我沒有任何獨立實例,也沒有運行Redis的Windows服務。Stackexchange.Redis ConnectionMultiplexer.Connect()在連接失敗時沒有做任何事情?

如何檢查連接是否成功?我在.NET 4.5運行和使用StackExchange.Redis版本4.0.30319

感謝

回答

2

這或許應該被記錄爲上SE.Redis而不是一個問題在這裏的錯誤。除非您已明確將AbortOnConnectFail設置爲false(它默認爲true),否則無意這樣做。

至於如何在毛刺存在檢測它:

  • 嘗試Ping()
  • 使用IsConnected財產上IServer
  • 使用上IDatabaseIsConnected(RedisKey)方法(如果您沒有使用羣集,則可以將default(RedisKey)傳遞給該方法;在羣集上,有必要知道您正在談論哪個服務器
+0

服務器未按每個IsConnected屬性連接。它是否打算通過調用'ConnectionMultiplexer.Connect(endPointAddress)'來反映連接失敗的行爲?如果不是,您是否知道修補程序何時進入下一個版本以及何時期待下一個版本?謝謝 –

+0

@MattWolf是的,它是*意圖*連接'/'ConnectAsync'將失敗,如果它不能連接,*除非*你已經禁用'AbortOnConnectFail';我有一個repro - 今天晚些時候會看 –

+0

@MattWolf現在推在1.0.241 –