簡體   English   中英

通知WCF服務取消當前執行的操作並返回剩余數據。

[英]Notify WCF Service to cancel the currently executing operation and return remaining data.

我有這個客戶端應用程序,它向我的wcf服務發送了數千個要刪除的項目。 由於數據是批量發送的,即使取消操作(帶有進度條),所有項目也會被刪除。 我想要的行為是能夠取消服務中的刪除操作並檢索未刪除的項目。 謝謝。

您正在使用什么InstanceContextMode?

您要執行的操作將與InstanceContextMode Singleton或Session一起使用,但不適用於PerCall。

我想您啟動批量刪除操作的方法是OneWay。

在您的服務中創建一個布爾字段(最初為false)。 您刪除記錄的循環將一一檢查該標志,如果該標志為true,則停止。

在服務中創建另一個方法,將該字段設置為true。 當您按下“取消刪除”按鈕時,從您的網站調用新方法。 刪除記錄的循環將中斷。

返回未刪除的記錄會有些棘手。 您要刪除的記錄列表也必須是服務類的成員,以便停止刪除的方法也可以訪問該列表。 從數據庫刪除的方法也應從列表中一一刪除記錄,以便您可以跟蹤其余項。

您可以在第二種方法中立即返回列表,但這並不保證准確的結果。 我要做的是在返回之前先等待200毫秒。 這樣,您就知道從列表中刪除的項目實際上已在數據庫中刪除。

希望這很清楚...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM