2009-10-12 111 views
1

我一直在開發.NET中C#的GSM調制解調器一個Windows應用程序,我遇到一個奇怪的錯誤:奇怪的未處理的異常

System.ObjectDisposedException was unhandled 
    Message="The secure parameter identifier was closed (pt: O parâmetro identificador seguro foi fechado)" 
    Source="System" 
    ObjectName="" 
    StackTrace: 
     at Microsoft.Win32.UnsafeNativeMethods.GetOverlappedResult(SafeFileHandle hFile, NativeOverlapped* lpOverlapped, Int32& lpNumberOfBytesTransferred, Boolean bWait) 
     at System.IO.Ports.SerialStream.EventLoopRunner.WaitForCommEvent() 
     at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Threading.ThreadHelper.ThreadStart() 
    InnerException: 

這只是最近發生的事情 - 我不知道爲什麼。 ..可能是我正在處理一個SerialPort並獲得調制解調器的答案? - 當我棄置SerialPort時,不應該避免這種情況嗎?

+0

如果您可以添加錯誤消息的非英文部分所說的內容的快速翻譯,可能會有幫助。這個信息可能是有用的,但不幸的是,我們太多誰說英語作爲主要語言不能理解任何其他:( – 2009-10-12 17:32:27

+0

這是一個英文信息的翻譯,「安全參數標識符已關閉」。 – ChrisW 2009-10-12 17:39:45

回答

1

System.ObjectDisposedException總是當你試圖使用釋放的對象,所以你用你自己的問題,你已經回答=)

0

你已經註冊的端口的DataReceived事件檢索處理程序發生?如果是這樣,你應該註銷它(也許可以添加一個Sleep()調用來允許任何當前正在運行的處理程序完成),然後關閉端口。