Я пишу приложение на C #, которое использует класс SerialPort
для связи с несколько устройств. Теперь большая проблема, с которой я сталкиваюсь все время, заключается в том, как правильно освободить там ресурсы, поскольку вы сразу получаете исключение при попытке использовать уже используемый последовательный порт.
Поскольку обычно GC должен позаботиться о большую часть работы я я вроде как без идей, что еще попробовать ...
В основном я пробовал 2 вещи, которые (по моей логике) должны работать. Я использую связь на основе сеанса, поэтому я вызываю OpenPort
и метод ClosePort
до и после каждого сеанса связи, поэтому порт должен быть закрыт. Также я попытался установить для своего объекта, содержащего порт, значение null после этого - но все же я все время получаю UnauthorizedAccessExceptions
, хотя я на 100 процентов уверен, что метод SerialPort.Close ()
был вызван.
Ребята, знаете ли вы какие-нибудь лучшие способы освободить порты, чтобы я перестал получать это исключение?
РЕДАКТИРОВАТЬ: поэтому я вызываю методы OpenPort
и ClosePort
до и после каждого сеанса связи - поэтому порт должен быть закрыт. Также я попытался установить для своего объекта, содержащего порт, значение null после этого - но все же я все время получаю UnauthorizedAccessExceptions
, хотя я на 100 процентов уверен, что метод SerialPort.Close ()
был вызван.
Ребята, знаете ли вы какие-нибудь лучшие способы освободить порты, чтобы я перестал получать это исключение?
РЕДАКТИРОВАТЬ: поэтому я вызываю методы OpenPort
и ClosePort
до и после каждого сеанса связи - поэтому порт должен быть закрыт. Также я попытался установить для своего объекта, содержащего порт, значение null после этого - но все же я все время получаю UnauthorizedAccessExceptions
, хотя я на 100 процентов уверен, что метод SerialPort.Close ()
был вызван.
Ребята, знаете ли вы какие-нибудь лучшие способы освободить порты, чтобы я перестал получать это исключение?
РЕДАКТИРОВАТЬ: )