In meinem Dienst habe ich derzeit einige Aufgaben und eine ReportProgress-Methode, die ständig eine Liste aktualisiert. Wie kann ich diese Liste an meine Client-Host-Anwendung zurückgeben?C# - Fortschritt von WCF Rest Service
Serviceseite:
public async void BeginSync(string dbId)
{
var progressIndicator = new Progress<string>(ReportSyncProgress);
var output = await BeginSyncTaskAsync(dbId, progressIndicator);
}
... in der Aufgabe, die ich einen Fortschrittsbericht in einer Schleife haben:
while ((output = process.StandardOutput.ReadLine()) != null)
{
progress.Report(output);
}
... und hier ist mein Bericht Methode:
public void ReportSyncProgress(string value)
{
// report by appending to global list
progressOutput.Add(value);
}
progressOutput ist eine Liste und ich brauche meinen Client, um in Echtzeit zu erhalten, wie es aktualisiert wird.
Vielen Dank!
Sie haben uns Ihre Anforderungen mitgeteilt, Sie haben uns nie gesagt, welches Problem Sie haben, um diese Anforderungen zu erfüllen. Haben Sie schon einmal [WCF-Callback-Methoden] (https://adamprescott.net/2012/08/15/a-simple-wcf-service-callback-example/) angeschaut? –
Das Problem ist, ich weiß nicht, wie man den Fortschritt zurückgibt, wie es aktualisiert wird. Ich habe Callback-Methoden noch nicht untersucht. – siegs
Wie machen Sie einen Rückruf über einen Rest-Service? – siegs