2012-03-26 4 views
0

ich auf dem Server die folgende Methode haben:Wie storniere ich eine Silverlight RIA InvokeOperation in einem Domain-Service?

[Invoke] 
public string GeneratePayroll(string empID,int PeriodID, Guid userID) 
{ 
… 
} 

Auf dem Client nenne ich die Methode wie folgt:

InvokeOperation<String> payrollGenerationOperation; 
payrollGenerationOperation = _payrollTransContext.GeneratePayroll(EmployeeID, PeriodID, UserID); 
payrollGenerationOperation.Completed += new EventHandler(GeneratePayroll_Completed); 

void GeneratePayroll_Completed(object sender, EventArgs e) 
{ 
… 
if (!payrollGenerationOperation.IsCanceled) 
    txtStatus.Content = "Completed!"; 
else 
    txtStatus.Content = "Canceled!"; 
} 

Auf die Schaltfläche Ereignis Abbrechen:

private void btnCancel_Click(object sender, RoutedEventArgs e) 
{ 
    payrollGenerationOperation.Cancel(); 
    btnCancel.IsEnabled = false; 
} 

Aber die Abbrechen funktioniert nicht, ich bin mir nicht sicher über die Implementierung.

Antwort

0

Ich empfehle das Handbuch zu lesen, in diesem Fall: MSDN

Es sieht aus wie die SupportsCancellation Methode immer false zurück, und Sie müssen es außer Kraft zu setzen. Aber es gibt andere Vorbehalte hier, wie auf MSDN erklärt.

+0

StackOverflow Experten Antworten auf Ihre Fragen – mill

+0

Haben Sie SupportsCancellation überschrieben und versuchen, es abzubrechen? Sie können nicht erwarten, dass ich MSDN für Sie kopiere und einfüge. Wenn Sie keine Dokumentation für eine Software lesen möchten, die vom Ersteller der von Ihnen verwendeten Plattform geschrieben wurde, ist das ein weiteres Problem. –

Verwandte Themen