C#: Надлежащий способ закрыть SerialPort с Winforms

При использовании SQL Server, было бы трудно избить Чувака Данных (иначе Выпуск Базы данных Visual Studio). Как только Вы приобретаете навык его, делание схемы выдерживает сравнение между управляемой версией Вашего источника базы данных, и версия в производстве является бризом. И щелчком можно генерировать различный DDL.

существует учебное видео на MSDN, это очень полезно.

я знаю о DBMS_METADATA и Жабе, но если бы кто-то мог бы придумать Чувака Данных для Oracle тогда, жизнь была бы действительно сладка.

7
задан Henk Holterman 8 November 2009 в 13:49
поделиться

2 ответа

Последовательный порт зависает при закрытии

Это известная проблема с классом SerialPort, описанная в этой статье Отзыв о продукте , а также в нескольких обсуждениях на этих форумах. Вы можете заметить увольнение "закрыто по дизайну".

6
ответ дан 6 December 2019 в 08:43
поделиться

Это не баг.

Единственная причина, по которой он может зависнуть, когда вы его закрываете, заключается в том, что в обработчике событий вашего объекта SerialPort вы синхронизируете вызов с главным потоком (обычно вызывая invoke). Метод закрытия SerialPort ожидает завершения своего потока EventLoopRunner, который запускает события DataReceived/Error/PinChanged, но поскольку ваш собственный код в событии также ожидает ответа главного потока, вы попадаете в ситуацию мертвой блокировки.

Причина, по которой сообщение об ошибке было закрыто "как задумано", заключается в том, что "ошибка" находится в вашем собственном коде.

9
ответ дан 6 December 2019 в 08:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: