В моей службе у меня в настоящее время есть несколько задач и метод ReportProgress, который постоянно обновляет список. Как я могу вернуть этот список в мое клиентское хост-приложение?C# - Возврат из службы обслуживания WCF
служба сторона:
public async void BeginSync(string dbId)
{
var progressIndicator = new Progress<string>(ReportSyncProgress);
var output = await BeginSyncTaskAsync(dbId, progressIndicator);
}
... в задаче у меня есть прогресс отчет в цикле:
while ((output = process.StandardOutput.ReadLine()) != null)
{
progress.Report(output);
}
... и вот мой метод отчета:
public void ReportSyncProgress(string value)
{
// report by appending to global list
progressOutput.Add(value);
}
progressOutput - это список, и мне нужен мой клиент, чтобы получать его в реальном времени по мере его обновления.
Спасибо!
Вы сказали нам свои требования, вы никогда не говорили нам о том, какую проблему вы должны выполнить для выполнения этих требований. Вы еще не просмотрели [методы обратного вызова WCF] (https://adamprescott.net/2012/08/15/a-simple-wcf-service-callback-example/)? –
Проблема в том, что я не знаю, как продолжать возвращать прогресс по мере его обновления. Я еще не изучал методы обратного вызова. – siegs
как вы совершаете обратный вызов через службу отдыха? – siegs