2010-05-14 8 views
5

me dio la siguiente excepción:InvalidOperationException: La operación de deshacer se encontró con un contexto que es diferente de lo que se aplicó en la operación Establecer correspondiente

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: 

La aplicación es un Visual Studio 2005 (.Net 2.0) aplicación de consola . Es un servidor para múltiples conexiones TCP/IP, realizando lecturas de socket asíncronas y escrituras de socket síncronas.

Al buscar una respuesta me encontré con this post que habla de una llamada al Application.Doevents() que no uso en mi código.

También encontré this post que tiene una resolución relacionada con Component que tampoco uso en mi código. La aplicación hace referencia a una biblioteca que he creado que contiene controles y componentes de usuario personalizados, pero la aplicación no los está utilizando.

Pregunta: ¿Qué hizo que esto sucediera y cómo evito que vuelva a suceder? O una pregunta más realista: ¿Qué significa realmente esta excepción? ¿Cómo se define el "contexto" en esta situación?

Cualquier cosa que pueda ayudarme a entender lo que está pasando sería muy apreciada.

Respuesta

0

contexto se refiere a "Contexto del subproceso" y no está de ninguna manera relacionado con su código. Sin embargo, es un problema interno con .net que podría limitarse solo a ediciones beta

Cuestiones relacionadas