none
客户端执行一个长时间的操作,完成前关闭程序后服务端仍然执行。 RRS feed

  • 问题

  • 假设客户端通过 WCF 执行了一段 SQL(例如这段欠抽的“WAITFOR   DELAY   '00:00:50'”)。

    这个语句执行需要50秒,请问用户在20秒左右不耐烦的关闭程序后,如何中断服务端的操作?


    Vseen
    2011年3月2日 7:40

答案

  • 假设客户端通过 WCF 执行了一段 SQL(例如这段欠抽的“WAITFOR   DELAY   '00:00:50'”)。

    这个语句执行需要50秒,请问用户在20秒左右不耐烦的关闭程序后,如何中断服务端的操作?


    Vseen


    使用事务。WCF支持客户端事务模式。

    这是唯一的办法了。

    步骤:

    1. 启用客户端事务。
    2. 让服务端加入客户端事务;
    3. 客户端可以做最后的判断,如果客户端不打算提交事务,那么服务端事务可以回滚。

     


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2011年3月3日 3:13
    版主