У меня есть приложение WPF, в котором размещена пара элементов управления WinForms.
Иногда я получаю в потоке .NET SystemEvents
первый шанс InvalidAsynchronousStateException
s, который всегда перехватывается кодом Framework (поэтому я видеть их только в окне «Вывод» в Visual Studio).
System.ComponentModel.InvalidAsynchronousStateException : 'Произошла ошибка при вызове метода. Целевой поток больше не существует. '
Трассировка стека выглядит следующим образом:
> System.Windows.Forms.dll!System.Windows.Forms.WindowsFormsSynchronizationContext.Send(System.Threading.SendOrPostCallback, object)
System.dll!Microsoft.Win32.SystemEvents.SystemEventInvokeInfo.Invoke(bool, object[])
System.dll!Microsoft.Win32.SystemEvents.RaiseEvent(bool, object, object[])
System.dll!Microsoft.Win32.SystemEvents.OnUserPreferenceChanging(int, System.IntPtr, System.IntPtr)
System.dll!Microsoft.Win32.SystemEvents.WindowProc(System.IntPtr, int, System.IntPtr, System.IntPtr)
[Native to Managed Transition]
[Managed to Native Transition]
System.dll!Microsoft.Win32.SystemEvents.WindowThreadProc()
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, object, bool)
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, object, bool)
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, object)
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart()
Исключения всегда возникают, когда приложение работает и не запускается, поэтому основной поток пользовательского интерфейса определенно доступен.
Нужно ли мне позаботиться? Это ошибка или ошибка. NET Framework или ошибка / неправильная конфигурация моего приложения? Мне трудно понять, если что-то не так. Я не вижу прямого влияния на мое приложение (без тупиков, без сбоев, без GUI глюков), но кто знает.
Windows 10, NET Framework 4.7.