Если конечный компьютер может предоставить URI для публикации, тогда вы можете просто использовать
WebClient.UploadFile(Uri address, string filename)
Он очень просто принимает URI в качестве адреса (http, ftp, даже протокол файла для передачи в общую папку).
Но для этого требуется настроить что-то на стороне сервера для публикации, но это будет зависеть от платформы сервера (например, любой старый FTP-сервер или веб-страница или служба, которая принимает файл методом POST). Однако безопасность может быть проблемой, которую вы должны рассмотреть.
Это использует push-модель. WebClient также может быть использован для загрузки с другой стороны. Он также поддерживает передачу потоков данных, строк и т. Д.