Как удалить файл после завершения потоковой передачи wcf

Я использую netTcpBinding и потоковую передачу для отправки файлов с одного сервера на другой, как описано в этой статье codeproject, как я понимаю. В wcf, когда мы хотим отправить поток, мы должны создать и вернуть его как контракт сообщения, вопрос в том, как завершить отправка файла? потому что я хочу переместить файл из папки "Входящие" в папку "Исходящие", когда гарантия отправки файла завершена

2 ответа

Решение

Я нашел отличное решение в этом блоге, если кому-то понадобится в будущем

OperationContext clientContext = OperationContext.Current;
clientContext.OperationCompleted += new EventHandler(delegate(object sender, EventArgs args)
   {
      if (fileStream != null)
         fileStream.Dispose();
   });

Когда второй сервер завершил прием файла с первого сервера, он может затем вызвать другой метод веб-службы, чтобы подтвердить, что он получил файл. В этот момент вы можете переместить файл из папки "Входящие" в папку "Исходящие", гарантируя, что другой сервер его получил.

Другие вопросы по тегам