понимание возникновения InvalidAsynchronousStateException

Когда возникает исключение InvalidAsynchronousStateException?

У меня есть следующий фрагмент кода:

control.InvokeRequired? control.Invoke (выражение): expression ();

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


System.ComponentModel.InvalidAsynchronousStateException: произошла ошибка при вызове метода. Целевой поток больше не существует. в System.Windows.Forms.Control.WaitForWaitHandle (WaitHandle waitHandle) в System.Windows.Forms.Control.MarshaledInvoke (вызывающий элемент управления, метод делегата, аргументы Object [], синхронное логическое значение) в System.Windows.Forms.Control.Invoke (метод делегата, аргументы Object []) в 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 () в Spring.Aop.Framework.DynamicProxy.AdvisedProxy.Invoke (объект-прокси, объект-цель, тип targetType, MethodInfo targetMethod, MethodInfo proxyMethod, Object [] args, перехватчики IList) at InheritanceAopProxy_4fda07e8828744839065a154b30915ee.Dispose (логическое удаление) в System.ComponentModel.Component.Finalize ()


кстати, я проверил этот ответ и не прояснил свои сомнения -> InvalidAsynchronousStateException в функции, которая проверяет, требуется ли вызов для управления

22
задан Community 23 May 2017 в 12:34
поделиться