Я пытаюсь обеспечить, чтобы служебная программа Windows (работающая поверх .NET) правильно освобождала свои сетевые подключения.
При запуске службы локально я знаю, что он создаст много HTTP-соединений с localhost на порту 57300. Я использую netstat
для контроля того, выпущены ли они должным образом.
Я был удивлен, увидев, что многие подключения к этому порту принадлежат "Системному Idle process" (PID = 0).
Здесь мы видим, что только три из этих подключений принадлежат сервисной программе (PID = 5012). Все остальные принадлежат PID 0.
Мои основные вопросы: Почему это происходит? и Нужно ли мне заботиться?
Но я также хотел бы знать:
-
Означает ли это, что сервисная программа действительно освободила соединение, или нет?
-
Будут ли такие соединения повторно использоваться при необходимости?
-
Сделайте такое подключение "зарезервируйте слот" в .NET ServicePointManager?