Собственно, нигде в MSDN почему-то нет примера как при работе в WebRequest/WebResponse обработать The underlying connection was closed. Все что удалось найти в интернете -- так это визги радующихся кодеров (не желающих вникать в проблему) что им удалось решить проблему путем выставления KeepAlive = false.
И дураку понятно, что KeepAlive = false -- это не решение проблемы а костыль.
Так как же правильно обработать это исключение?
Заново создать WebRequst и отправить данные на сервер повторно? Но если это будет сообщение в форум, к примеру, получится 2 одинаковых сообщения (т.к. отправили повторно).