2012-03-26 9 views
0

私は、サーバー上で次のような方法があります:[キャンセル]ボタンのイベントでドメインサービスでSilverlight RIA InvokeOperationをキャンセルするにはどうすればよいですか?

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

しかし、次のように、私はメソッドを呼び出すクライアントで

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

をキャンセルは機能していません。実装についてはわかりません。

答えて

0

私は、この場合には、マニュアルを読んでお勧めします。MSDN

SupportsCancellationメソッドは常にfalseを返し、あなたがそれをオーバーライドする必要があるように見えます。しかし、MSDNで説明されているように、ここには別の注意点があります。

+0

StackOverflow あなたの質問への専門家の回答 – mill

+0

SupportsCancellationを無効にしてキャンセルしようとしましたか? MSDNをコピーして貼り付けることはできません。使用しているプラ​​ットフォームの作成者が作成したソフトウェアのドキュメントを読んでみたくない場合、それは別の問題です。 –

関連する問題