Есть много вопросов относительно передачи файлов с WCF.
У меня все работает, включая большие файлы в режиме "chunked".
У меня есть возможность отменить загрузку файла от отправляющей стороны (той, которая начинает загрузку) и интерфейс обратного вызова, чтобы уведомить, когда передача принята, и отменена.
Моя проблема - отмена загрузки с получающего конца. Я могу просто заставить канал закрыться, но я хотел бы уведомить отправляющую сторону об отмене.
Я не получаю решение для этого. Любая помощь?
Спасибо
Обновление:
Я уже понял это. Смотрите комментарий ниже.
Интерфейс сервиса выглядит так:
Кстати, интерфейс сервиса выглядит так:
</p>
<pre><code>[ServiceContract(SessionMode = SessionMode.Required,
CallbackContract = typeof(IFileTransferServiceCallback))]
public interface IFileTransferService
{
[OperationContract(IsOneWay = true)]
void RequestSendFile(FileTransferInvitation request);
[OperationContract(IsOneWay=true)]
void SendData(string id, byte[] data, int length);
[OperationContract(IsOneWay = true)]
void SendCancel(string id);
[OperationContract(IsOneWay = true)]
void SendEnd(string id);
[OperationContract(IsOneWay = true)]
void RequestSendCancelConfirmed(string id);
}
public interface IFileTransferServiceCallback
{
[OperationContract(IsOneWay = true)]
void SendStarted(FileTransferInvitation transfer);
[OperationContract(IsOneWay = true)]
void RequestSendCancel(string id);
[OperationContract(IsOneWay = true)]
void SendCompleted(string id, Exception error);
}