私はwcfサービスに何千ものアイテムを削除するこのクライアントアプリケーションを持っています。データはバルクで送信されるので、操作をキャンセルしても(進行状況バーで)、すべての項目が削除されます。私が望む動作は、サービス内の削除操作を取り消し、削除されていない項目を取り出せるようにすることです。ありがとうございました。WCFサービスに通知すると、現在実行中の操作をキャンセルし、残りのデータを返します。
答えて
どのInstanceContextModeを使用していますか?
あなたがしたいことは、InstanceContextModeシングルトンまたはセッションでは動作しますが、PerCallでは動作しません。
一括操作で削除を開始するメソッドがOneWayであるとします。
サービスでboolフィールド(最初はfalse)を作成します。レコードを1つずつ削除するループは、フラグをチェックし、フラグがtrueの場合は停止します。
サービスで、そのフィールドをtrueに設定する別のメソッドを作成します。 「キャンセル」ボタンを押すと、あなたのウェブサイトから新しいメソッドを呼び出します。レコードを削除するループは破損します。
削除されなかったレコードを返すのはちょっと難しいです。削除するレコードのリストは、サービスクラスのmemebrである必要もあります。そのため、削除を停止するメソッドはリストにもアクセスできます。 db shoulkdから削除するメソッドは、リストからレコードを1つずつ削除して、残りのアイテムを追跡することもできます。
すぐに2番目の方法でリストに戻ることはできますが、正確な結果は保証されません。私がやることは、戻ってくる前に200ミリ秒待ちます。そうすれば、リストから削除された項目が実際にdb内で削除されることがわかります。これは明らかである
希望...
はい、InstanceContextModeはPerSessionであり、削除操作はOneWayです。私はあなたのポイントを得る、私はしようとし、何が起こるかを見てみましょう。残りの未削除アイテムに関しては、私はそれらを元に戻す必要はないかもしれません。クライアント側のアイテムを更新する別の操作を実行しようとします。ありがとう。 –
- 1. 現在の操作を中止するWCFタイムアウト?
- 2. 別のスレッドに、操作が実行中または終了していることを通知します。
- 3. 弾性検索:現在実行中のスナップショット操作を取得
- 4. 実行中のクエリをキャンセルします
- 5. 実行中のサービスと通信する
- 6. クライアントのアボートでWCF操作をキャンセルします。
- 7. WCF RESTサービスとクライアント通知
- 8. 通知を作成すると現在のアクティビティが完了しました
- 9. UsageStatsManagerが新しい通知からpackagenameを返すようになりました。現在実行中ではありません。
- 10. ユーザーが新しいものを実行したときに現在の実行をキャンセルする、AsyncTask
- 11. ライブビデオ。 (#100)現在の操作を実行する権限がありません
- 12. 現在実行中のスレッドを知り、それを停止する方法iOS
- 13. WCFサービスは、普通の古いオブジェクト、または実際に作業しているクラスを返しますか?
- 14. Linux FTP:再起動/実行後の操作が現在進行中です
- 15. 現在実行中のブラウザの現在のWebアプリケーションを検出します。
- 16. WCFサービス上の現在のエンドポイントを取得しますか?
- 17. 現在の繰り返し中にForループの次の行を評価する
- 18. Atlassian Bambooは、現在実行中/実行中のビルドを停止します。
- 19. 現在実行中の非同期イベントのリストを返す
- 20. 現在実行中のアクティビティのインスタンスを取得しますか?
- 21. Railsはリダイレクト前の現在の表示でフラッシュ通知を返します
- 22. プロミス内のデータを操作してサービス関数で返す - AngularJS
- 23. RVM:現在実行中のルビーのGemsetを作成する
- 24. 現在実行中のコンソールアプリケーションでメソッドを呼び出します。
- 25. WCFデータサービス - 関連するエンティティを返さないサービス操作
- 26. リスト/配列/コレクションをWCFデータサービス(OData)サービス操作に渡します。
- 27. 実行中のWCFサービスのURL /エンドポイントアドレス
- 28. WCFサービス操作からEF4 POCOを返すときにCommunicationExceptionが発生する
- 29. SQLクエリを使用して現在の残高を実行
- 30. 未知の操作を実行している行列操作コード
はまだサービスについて考えてはいけない - あなたは、データベースまたは任意の永続ストアでこれを行うだろうか?削除を一切キャンセルする方法はありますか? –
アイテムはデータベースで1つずつ削除されます。操作を中断して削除されていないアイテムを返すものが必要です。私はあなたの質問に正しく答えることを願っています。ありがとう。 –
本当に必要以上に複雑に聞こえる、本当に。 –