Please tell me what this error means and how to resolve it (in C#).

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • santusapi
    New Member
    • Mar 2010
    • 26

    #1

    Please tell me what this error means and how to resolve it (in C#).

    Hello All.

    I have made a simple college project and getting this error message only for the first time run. And it won't show if i run the same algorithm for the second time (before closing - means i have kept an option to re-run the algorithm before close). Although it gives the error msg, I will get proper output. I'm pasting the Error Message here...


    "The CLR has been unable to transition from COM context 0x1b0788 to COM context 0x1b08f8 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultip leHandles) and routinely pump messages during long running operations."


    Please anybody help me in resolving it.
  • Plater
    Recognized Expert Expert
    • Apr 2007
    • 7872

    #2
    Run your COM interactions in some other thread then the main gui thread.
    This message seems to popup when you're doing work in the GUI thread with a COM object and the main thread has gone on too long without being able to process windows messages. (If this is all managed code, well you have other issues, but a quick fix would be to call Application.DoE vents() inside whatever busy loop you have)

    Comment

    Working...