我在服务器上有以下方法:
[Invoke]
public string GeneratePayroll(string empID,int PeriodID, Guid userID)
{
…
}
在客户端上,我按如下方式调用该方法:
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!";
}
在取消按钮事件:
private void btnCancel_Click(object sender, RoutedEventArgs e)
{
payrollGenerationOperation.Cancel();
btnCancel.IsEnabled = false;
}
但取消不起作用,我不确定实施。
答案 0 :(得分:0)
我建议您阅读手册,在这种情况下:MSDN
看起来SupportsCancellation方法总是返回false,你需要覆盖它。但是,如MSDN所述,此处还有其他注意事项。