System.InvalidOperationException: Invalid attempt to call Read when reader is closed.
Иногда в одном бизнес процессе в базовых элементах "Читать данные" или "Изменить данные" возникает ошибка:
System.InvalidOperationException: Invalid attempt to call Read when reader is closed.
at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more)
at System.Data.SqlClient.SqlDataReader.Read()
at Terrasoft.Core.Entities.EntityCollection.LoadShallow(IDataReader dataReader, Dictionary`2 columnMap, Boolean needClear)
at Terrasoft.Core.Entities.EntityCollection.GetEntitySchemaEntityCollection(UserConnection userConnection, IDataReader dataReader)
at Terrasoft.Core.Entities.EntityCollection.GetEntityCollection(UserConnection userConnection)
at Terrasoft.Core.Process.Configuration.ReadDataUserTask.InternalExecute(ProcessExecutingContext context)
at Terrasoft.Core.Process.ProcessActivity.ExecuteElement(ProcessExecutingContext context)
at Terrasoft.Core.Process.ProcessActivity.Execute(ProcessExecutingContext context)
При нажатие Выполнить элемент процесс нормально идет дальше. Происходит ошибка не всегда, иногда весь процесс нормально идет.
Нравится
Странно. Выглядит как исключение в стандартном элементе чтения данных. Воспроизводится всегда при чтении или изменении на одном и том же объекте?
Может, в структуре Вашего БП дело? Если сделать тестовый БП, который состоит только из такого же чтения и запускать его, тоже воспроизводится?
В том объекте нет никаких самодельных встроенных БП?
Возможно, дело в конкретной структуре построенного Вами процесса. Например, если одна ветвь приводит к завершению процесса, а в другой в это время как раз выполнялся этот элемент работы с данными. И в обоих ветвях использовался один Reader, через который идёт работа с базой, в той ветви, которая завершилась раньше, его закрыли. Скорее всего, в скрипте.
Несколько раз такое наблюдалось, но не было порядка воспроизведения на стандартных объектах. Если есть возможность построить такой процесс, покажите или вышлите его схему и текст элементов-скриптов. Или обратитесь в поддержку, предоставив доступ к системе.