В течение последних двух лет мы разрабатывали веб-приложение с ASP.NET MVC 3, NHibernate (v. 3.3.1.4000) и PostgreSql для базы данных, поэтому с использованием драйвера Npgsql (версия 2.0.12.0). Система успешно работает на 4 разных клиентских серверах и никогда не создавала ошибку, с которой я столкнулся на новом сервере, который мы установили недавно. Исключение произошло только один раз, после первоначальной совокупности с данными и не позволило некоторым бизнес-единицам быть сохраненными в БД. Я действительно должен убедиться, что в будущем ошибка будет надлежащим образом обработана, если вообще не удастся избежать, но как-то не понимаю. Поиск на сайте и в интернете в целом для этой или подобных ошибок не привел никакой информации. Кто-нибудь из вас столкнулся с этой проблемой или у вас есть идея, как ее исправить? Спасибо :)Npgsql вызывает System.NotSupportedException
Вот ошибка:
System.NotSupportedException: This stream does not support seek operations.
at System.Net.Sockets.NetworkStream.Seek(Int64 offset, SeekOrigin origin)
at System.IO.BufferedStream.FlushRead()
at System.IO.BufferedStream.WriteByte(Byte value)
at Npgsql.NpgsqlSync.WriteToStream(Stream outputStream)
at Npgsql.NpgsqlReadyState.SyncEnum(NpgsqlConnector context)
at Npgsql.NpgsqlState.Sync(NpgsqlConnector context)
at Npgsql.ForwardsOnlyDataReader.GetNextResponseObject()
at Npgsql.ForwardsOnlyDataReader.GetNextRowDescription()
at Npgsql.ForwardsOnlyDataReader.NextResult()
at Npgsql.ForwardsOnlyDataReader..ctor(IEnumerable`1 dataEnumeration, CommandBehavior behavior, NpgsqlCommand command, NotificationThreadBlock threadBlock, Boolean synchOnReadError)
at Npgsql.NpgsqlCommand.GetReader(CommandBehavior cb)
at Npgsql.NpgsqlCommand.ExecuteNonQuery()
at NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd)
at NHibernate.AdoNet.NonBatchingBatcher.AddToBatch(IExpectation expectation)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
at NHibernate.Action.EntityInsertAction.Execute()
at NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
at NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
at NHibernate.Engine.ActionQueue.ExecuteActions()
at NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
at NHibernate.Impl.SessionImpl.Flush()
at NHibernate.Transaction.AdoTransaction.Commit()
И это вызвано тем, какой код? –
К сожалению, я не знаю. Ошибка произошла в производстве, и это то, что у меня есть из журналов. Внутреннего исключения нет. –