при выполнении потоковой передачи с использованием WCF Я создаю два ServiceContracts, которые выполняют потоковое вещание, которое отправит уведомление в конце потоковой передачи.
Ответ ServiceContract Я использую привязку типа дуплексного типа. Клиент, чтобы вызвать ответ ServiceContract сначала, чтобы получить билет для своей транзакции, затем позвоните в мой сервис ServiceContract. Затем в конце транзакции клиент получит уведомление об успехе или неудаче от ответа ServiceContract.
[ServiceContract]
public interface IStreamFileService
{
[OperationContract]
void Upload(Stream stream);
}
[ServiceContract(SessionMode = SessionMode.Required, CallbackContract = typeof(ITransferCallback))]
public interface IStreamFileResponseService
{
[OperationContract(IsOneWay = false, IsInitiating = true, IsTerminating = false)]
Guid StartUpload();
}
[ServiceContract]
public interface ITransferCallback
{
[OperationContract]
void OperationComplete(ResponseMessage response);
}
Я делаю это в двух службах, потому что мои требования и рабочий процесс требуют от меня, чтобы отслеживать многие вещи и делать аутентификации, проверку и т.д.