ich die folgende Ausnahme bekam:InvalidOperationException: Der Vorgang rückgängig macht einen Zusammenhang festgestellt, die von dem unterscheidet, was in der entsprechenden Set Operation angewandt wurde
Exception Type: System.InvalidOperationException
Exception Message: The Undo operation encountered a context that is different from what was applied in the corresponding Set operation. The possible cause is that a context was Set on the thread and not reverted(undone).
Exception Stack: at System.Threading.SynchronizationContextSwitcher.Undo()
at System.Threading.ExecutionContextSwitcher.Undo()
at System.Threading.ExecutionContext.runFinallyCode(Object userData, Boolean exceptionThrown)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteBackoutCodeHelper(Object backoutCode, Object userData, Boolean exceptionThrown)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.ContextAwareResult.Complete(IntPtr userToken)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
Exception Source: mscorlib
Exception TargetSite.Name: Undo
Exception HelpLink:
Die Anwendung ist ein Visual Studio 2005 (.NET 2.0) Konsolenanwendung . Es ist ein Server für mehrere TCP/IP-Verbindungen, die asynchrone Socket-Lesevorgänge und synchrone Socket-Schreibvorgänge ausführen.
Bei der Suche nach einer Antwort stieß ich auf this post, die über einen Anruf an Application.Doevents()
spricht, die ich nicht in meinem Code verwende.
Ich fand auch this post, die eine Auflösung mit Component
beteiligt, die ich auch nicht in meinem Code verwenden. Die Anwendung verweist auf eine von mir erstellte Bibliothek, die benutzerdefinierte Benutzersteuerelemente und Komponenten enthält, die jedoch nicht von der Anwendung verwendet werden.
Frage: Was hat das verursacht und wie verhindere ich, dass dies wieder passiert? Oder eine realistischere Frage: Was bedeutet diese Ausnahme eigentlich? Wie ist "Kontext" in dieser Situation definiert?
Alles, was mir helfen kann zu verstehen, was vor sich geht, würde sehr geschätzt werden.