Когда вызывается InvalidAsynchronousStateException?
У меня есть следующий фрагмент кода:
control.InvokeRequired? control.Invoke(выражение): выражение();
В некоторых случайных случаях я получаю InvalidAsynchronousStateException и мое приложение зависает, после некоторого чтения кажется, что это исключение будет вызываться, когда поток, в котором был создан control
, был завершен. Это верно? Если это так, похоже, это не так, если только что-то не приводит к сбою моего приложения, и это исключение является следствием? возможно ли это?
System.ComponentModel.InvalidAsynchronousStateException: возникла ошибка при вызове метода. Целевой поток больше не существует. в System.Windows.Forms.Control.WaitForWaitHandle(WaitHandle waitHandle) в System.Windows.Forms.Control.MarshaledInvoke(контрольный вызов, метод делегирования, объект [] args, логический синхронный) в System.Windows.Forms.Control.Invoke(метод Delegate, Object [] args) в System.Windows.Forms.Control.Invoke(метод делегата) в Optimus.Desktop.Framework.Spring.Aspects.UIThreadInterceptor.Invoke(вызов IMethodInvocation) в c:\Optimus\Desktop\Framework\ Spring\Aspects\UIThreadInterceptor.cs: строка 22 в Spring.Aop.Framework.AbstractMethodInvocation.Proceed() at Spring.Aop.Framework.DynamicProxy.AdvisedProxy.Invoke(объект-прокси, объект-объект, тип targetType, метод-метод targetMethod, метод MethodInfo proxyMethod, Object [] args, перехватчики IList) на InheritanceAopProxy_4fda07e8828744839065a154b30915ee.Dispose(Boolean disposing) в System.ComponentModel.Component.Finalize()
btw, я проверил этот ответ и не уточнил свое сомнение → InvalidAsynchronousStateException в функции, которая проверяет, требуется ли для контроля.