System.ObjectDisposedException
I am running some windows application and it's working for few days then stop working with no error. Now i found in event viewer this error. Maybe anyone have any idea what can cause this error?
Ev开发者_运维知识库ent Type: Error
Event Source: .NET Runtime 2.0 Error Reporting Event
Category: None
Event ID: 5000
Date: 30.10.2010
Time: 21:58:57
User: N/A
Computer: SERVER-PROD
Description: EventType clr20r3, P1 program.exe, P2 1.0.0.0, P3 4cca7ed1, P4 mscorlib, P5 2.0.0.0, P6 4be90358, P7 1164, P8 0, P9 system.objectdisposedexception, P10 NIL.
ObjectDisposedException is:
The exception that is thrown when an operation is performed on a disposed object. (source)
In other words, if an instance of a class that implements the IDisposable interface is disposed -- either explicitly by a call to Dispose()
or implicitly, such as if it appears in a using
statement or otherwise -- any attempts to call methods on the object will raise the exception above.
As with most debugging problems, it's very difficult to say what is causing yours without actually looking at the code and running it in a debugger. You say that the program crashes with ObjectDisposedException after running for a few days. In my experience, this is usually means one of two things:
- There is some very unusual code path which, when taken, always causes a crash
- A race condition exists between threads in your program. Thus, the crash appears unpredictably and may be difficult to reproduce
My advice to you is to start the program in the debugger, and leave it running until the exception is thrown. Then you can come back here and provide us with the relevant code, stack trace, debug output, etc.
Something is accessing an object that has been disposed. Often this can happen if you have multi-threading on a form. You start the backgroundworker/thread/timer, and then dispose the form. When the backgroundworker/thread/timer tries to update the form in some way, you get this exception.
精彩评论