繁体   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