Странное необработанное исключение - PullRequest
1 голос
/ 12 октября 2009

Я разрабатывал приложение для Windows в .net C # для GSM-модемов, и я столкнулся со странной ошибкой:

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?

Ответы [ 2 ]

1 голос
/ 12 октября 2009

System.ObjectDisposedException всегда возникает, когда вы пытаетесь использовать удаленный объект, поэтому вы ответили на свой вопрос самостоятельно =)

0 голосов
/ 13 октября 2009

Вы зарегистрировали обработчик в событии DataReceived порта? Если это так, вам, вероятно, следует отменить его регистрацию (и, возможно, добавить вызов Sleep (), чтобы завершить работу любого работающего в данный момент обработчика), прежде чем закрывать порт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...