«Операция изменения отменена пользователем» => что под этим подразумевает Telerik OpenAccess?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 «Операция изменения отменена пользователем» => что под этим подразумевает Telerik OpenAccess?

Сообщение Anonymous »

Я работаю над приложением, основанным на другом приложении, и оба основаны на Telerik OpenAccess для чтения базы данных SQL-Server.
Регулярно мой клиент сталкивается со следующим исключение:

Код: Выделить всё

Telerik.OpenAccess.OpenAccessException: Change operation canceled by user.
at OpenAccessRuntime.ExceptionWrapper.Throw()
at OpenAccessRuntime.DataObjects.PCStateMan.handleException(Exception x)
at OpenAccessRuntime.DataObjects.PCStateMan.SetField[T](PersistenceCapable _pc, Int32 field, T currentValue, T newValue)
at App1.Server.Core.Domain.CommandOrderPart.OpenAccessEnhancedSet_status(CommandOrderPart owner, OrderStatus value)
at App1.Server.Core.Domain.CommandOrderPart.set_Status(OrderStatus value)
at App2.Helpers.ExtensionMethods.SetStatus(CommandOrderPart orderPart, String status) in C:\Source1.cs:line 47
at App2.Manager.RequestOrderStatus(JbtOrder order) in C:\Source2.cs:line 668
Telerik.OpenAccess.OpenAccessException: Change operation canceled by user.
at OpenAccessRuntime.ExceptionWrapper.Throw()
at OpenAccessRuntime.DataObjects.PCStateMan.handleException(Exception x)
at OpenAccessRuntime.DataObjects.PCStateMan.SetField[T](PersistenceCapable _pc, Int32 field, T currentValue, T newValue)
at App1.Server.Core.Domain.CommandOrderPart.OpenAccessEnhancedSet_status(CommandOrderPart owner, OrderStatus value)
at App1.Server.Core.Domain.CommandOrderPart.set_Status(OrderStatus value)
at App2.Helpers.ExtensionMethods.SetStatus(CommandOrderPart orderPart, String status) in C:\Source1.cs:line 47
at App2.Manager.RequestOrderStatus(JbtOrder order) in C:\Source2.cs:line 668
Что именно означает «Операция изменения отменена пользователем»? Хорошо, я понимаю, что мои приложения хотят установить статус (который является «операцией изменения»), но кто является пользователем, создающим это исключение? Могу ли я получить дополнительную информацию из базы данных? Какая таблица, представление или диагностика? ...?
декомпиляция Telerik OpenAccess DLL**
После декомпиляции Telerik OpenAccess DLL я обнаружил два случая отмены операции изменения пользователем< /code>:
  • Файл «DisconnectedStateManager.cs»:

Код: Выделить всё

    private ChangeEventArgs FireChanging(
object pc,
int field,
object oldV,
object newV)
{
ChangeEventArgs ev = new ChangeEventArgs(pc, this.cmd.getFieldName(field), oldV, newV, this.state == (short) 4, true);
this.repository.tracker.FireChanging(ev);
return !ev.Cancel ? ev : throw new OpenAccessException("Change operation canceled by user.", true);
}
  • Файл ".../SPI/TrackingImpl.cs":

Код: Выделить всё

    /// Raises the Changing event.
/// Not intended for application use.
/// 
The event to raise.
public void FireChanging(ChangeEventArgs ev)
{
if (this.evChanging == null)
return;
this.evChanging(this.owner, ev);
if (ev.Cancel)
throw new OpenAccessException("Change operation canceled by user.", true);
}
PcStateMan.cs:
В «PcStateMan.cs» в handleException(...) можно увидеть следующее:

Код: Выделить всё

    private void handleException(Exception x)
{
if (BindingSupportImpl.Instance.isOwnException(x))
throw new ExceptionWrapper(x).Throw();
throw BindingSupportImpl.Instance.internally(x.Message, x).Throw();
}
Это означает, что условие BindingSupportImpl.Instance.isOwnException(x) истинно (что бы это ни значило).
Этот звонок звонок с кем-нибудь?

Подробнее здесь: https://stackoverflow.com/questions/792 ... an-by-that
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»