2016-05-17 41 views
0

我的問題,具體情況如下,使用PGPOOL集羣Npgsql的時不能正常工作,

工作環境

  • = Npgsql的3.0.7
  • 實體框架= 6.1.3
  • PGPOOL = 3.5.2
  • Postgres = 9.4.8

查詢數據庫時經常出現以下錯誤(例外可能會隨時間發生變化&發生位置)。

錯誤System.IO.EndOfStreamException:嘗試讀取流末尾。
在Npgsql.NpgsqlBuffer.Ensure(的Int32計數)
在Npgsql.NpgsqlConnector.DoReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,布爾returnNullForAsyncMessage,布爾isPrependedMessage)
在Npgsql.NpgsqlConnector.ReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,布爾returnNullForAsyncMessage)
Npgsql的處。 NpgsqlCommand.Execute
在Npgsql.NpgsqlCommand.ExecuteDbDataReaderInternal(的CommandBehavior行爲)
在Npgsql.NpgsqlCommand.ExecuteDbDataReader(的CommandBehavior行爲)
在System.Data.Entity.Infrastructure.Interception.Internal(的CommandBehavior行爲)調度1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func 3的操作,TInterceptionContext interceptionContext,動作3 executing, Action 3執行)
在System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(的DbCommand命令,DbCommandInterceptionContext interceptionContext)
在System.Data.Entity.Core.EntityClient.Internal .EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,的CommandBehavior行爲)

或:

ERROR System.IO.EndOfStreamException:嘗試讀取過去T的端他流。
在Npgsql.NpgsqlBuffer.Ensure(的Int32計數)
在Npgsql.NpgsqlConnector.DoReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,布爾returnNullForAsyncMessage,布爾isPrependedMessage)
在Npgsql.NpgsqlConnector.ReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,布爾returnNullForAsyncMessage)
Npgsql的處。 NpgsqlConnector.ReadExpectingT
在Npgsql.NpgsqlConnector.ExecuteInternalCommand(FrontendMessage消息,布爾withTimeout)
在Npgsql.NpgsqlTransaction.Commit()
在System.Data.Entity.Infrastructure.Interception.InternalDispatcher 1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action 2操作,TInterceptionContext interceptionContext,行動3 executing, Action 3執行),而pgpool

相同查詢後,劑量不會出現上述異常。

你能請指教我解決這個問題嗎?

非常感謝您。

回答

0

這看起來像是https://github.com/npgsql/npgsql/issues/1060的副本,它已經被修復。嘗試使用新的3.1.0來查看它是否解決了您的問題(小心,它可能有點粗糙),或者等到3.0.8出來 - 它也會包含修復。

+0

你好,非常感謝你的回覆。對於我們未來的計劃,我是否可以知道它何時將發佈3.0.8或兼容的EntityFramework6.Npgsql for 3.1.0?謝謝。 –

+0

EF6.Npgsql for 3.1.0將在幾天內發佈,3.0.8可能需要幾周的時間 –

+0

謝謝。等待下一個EF6.Npgsql發佈。 –