Ошибка "Cannot access a disposed object"

Ошибки работы в системе и их устранение
Ответить
Юзер
Пользователь
Сообщения: 68
Зарегистрирован: 22 окт 2017, 20:52
2 + 2 = ?: 4

Ошибка "Cannot access a disposed object"

Сообщение Юзер » 05 дек 2018, 11:36

Здравствуйте. Поменял структуру документа, всё работает, но при передаче документа по маршруту происходит проблема.
Другой пользователь получает документ (он высвечивается жирным), но при попытке открыть его происходит ошибка и появляется вот такое сообщение:

Ошибка взаимодействия с сервером. Возможно сервер был перезапущен.

System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'ObjectHolder'.
at Foss.FossDoc.ObjectModel.Data.Holder.CheckNotDisposed()
at Foss.FossDoc.ObjectModel.Data.Holder.get_Session()
at Foss.FossDoc.ObjectModel.DataRepresentation.View.BusinessLogic.Attachment.AttachmentsInplaceForm._StopStat()
at Foss.FossDoc.ObjectModel.DataRepresentation.View.BusinessLogic.Attachment.AttachmentsInplaceForm.Shutdown()
at Foss.FossDoc.ObjectModel.DataRepresentation.Plugins.Forms.InplaceFormCollectionContainerControl.InplaceFormHolder.Shutdown()
at Foss.FossDoc.ObjectModel.DataRepresentation.Plugins.Forms.InplaceFormCollectionContainerControl.Shutdown()
at Foss.FossDoc.ObjectModel.DataRepresentation.Plugins.Forms.DefaultWindowForm.Shutdown()
at Foss.FossDoc.ObjectModel.DataRepresentation.Plugins.Forms.FormManager._OpenForm(IFossDocSession session, IAttributeDescriptionHolder containerAttribute, OID objectOID, ICategoryDescriptionHolder customFormCategory, IForm parentForm, Boolean showForm, FormContext formContext, IObjectHolder& openedObject)
at Foss.FossDoc.ObjectModel.DataRepresentation.Plugins.Forms.FormManager.OpenForm(IFossDocSession session, IAttributeDescriptionHolder containerAttribute, OID objectOID, IForm parentForm, Boolean showForm, IObjectHolder& openedObject)
at Foss.FossDoc.ObjectModel.DataRepresentation.View.ObjectContainer.ObjectContainerInplaceForm.OpenSelectedObjects()
at Foss.FossDoc.ObjectModel.DataRepresentation.View.ObjectContainer.ObjectContainerInplaceForm.OpenOrChooseSelectedObjects()
at Foss.FossDoc.ObjectModel.DataRepresentation.View.ObjectContainer.ObjectContainerInplaceForm.DataGridView_MouseDoubleClick(Object sender, MouseEventArgs e)
at System.Windows.Forms.MouseEventHandler.Invoke(Object sender, MouseEventArgs e)
at System.Windows.Forms.Control.OnMouseDoubleClick(MouseEventArgs e)
at System.Windows.Forms.DataGridView.OnMouseDoubleClick(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.DataGridView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

После чего клиент закрывается, а после его перезапуска документ в папке "Входящие" уже отображается обычным, а не жирным шрифтом.
Ещё добавлю, что при изменении структуры было добавлено новое поле (тип - дочерние документы) и некоторые поля этого дочернего документа содержат разрешения только для автора, а не сотрудника-получателя. А два старых поля (тип - дочерние документы были удалены).

Подскажите, пожалуйста, как решить эту проблему? Заранее спасибо!

Юзер
Пользователь
Сообщения: 68
Зарегистрирован: 22 окт 2017, 20:52
2 + 2 = ?: 4

Re: Ошибка "Cannot access a disposed object"

Сообщение Юзер » 07 дек 2018, 12:03

Нашёл в чём проблема - для других сотрудников был закрыт доступ к одному из полей. Если его открыть, то ошибка не возникает.
Но вот что делать, если бы доступ и должен быть закрытым?

Ответить

Вернуться в «Ошибки работы»