2012-03-26 61 views
0

我已在服務器上下面的方法:如何在域服務中取消Silverlight RIA InvokeOperation?

[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

我建議你閱讀手冊,在這種情況下:MSDN

它看起來像SupportsCancellation方法始終返回false,你需要重寫它。但是這裏還有其他一些警告,正如MSDN上所解釋的那樣。

+0

StackOverflow的 專家回答您的問題你忽略SupportsCancellation並嘗試取消 – mill 2012-03-27 14:16:28

+0

?你不能指望我爲你複製和粘貼MSDN。如果你不想爲一個軟件,通過你using-該平臺的創建者所寫的文件是另一個問題都在一起。 – 2012-03-28 19:35:41