Как отменить операцию Silverlight RIA InvokeOperation в доменной службе? - PullRequest
0 голосов
/ 26 марта 2012

У меня есть следующий метод на сервере:

[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;
}

Но Отмена не работает, я не уверен насчет реализации.

1 Ответ

0 голосов
/ 26 марта 2012

Я рекомендую прочитать руководство, в этом случае: MSDN

Похоже, что метод SupportsCancellation всегда возвращает false, и вам необходимо переопределить его. Но здесь есть другие предостережения, как объяснено в MSDN.

...