Ich verwende eine .Net 3.5-Anwendung in der Windows XP-Version. Diese Anwendung schreibt und liest einige Daten über den seriellen (COM) Port. Die Anwendung funktioniert auf meinem Laptop (Windows XP Professional), aber nicht auf Windows XP Embedded. Ich bekomme diesen Fehler immer wieder:Was ist der Grund für System.IO.IOException unter Windows XP Embedded Version?
System.IO.IOException: The I/O operation has been aborted because of either a thread exit or an application request.
Was könnte das verursachen?
Einige zusätzliche Informationen: um zu lesen, verwende ich ReadExisting
und nicht Readline
. Auch vor dem Lesen sorge ich dafür, dass der Port auch offen ist.
System.IO.IOException: The I/O operation has been aborted because of either a thread exit or an application request.
at System.IO.Ports.SerialStream.EndRead(IAsyncResult asyncResult)
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count)
at System.IO.Ports.SerialPort.ReadExisting()
at ScalesApp.Scales.handleDataReceived(Object sender, SerialDataReceivedEventArgs e)
at System.IO.Ports.SerialPort.CatchReceivedEvents(Object src, SerialDataReceivedEventArgs e)
at System.IO.Ports.SerialStream.EventLoopRunner.CallReceiveEvents(Object state)
at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
können Sie die serielle Schnittstelle von anderen Anwendungen (wie Hyperterminal) verwenden? – Gabe
Ja kann ich. Ich sollte das Problem erwähnen, dass meine Anwendung tatsächlich über die serielle Schnittstelle kommunizieren kann, aber es wird die Ausnahme nach einiger Zeit. – Prithis
Besser etwas Code zeigen. –