pet*_*ter 5 .net c# silverlight wcf-ria-services
我在 Silverlight 项目中使用 RIA 服务。我在客户端使用 LoadOperation 类从服务器加载一些数据。
在加载该数据的过程中,该请求可能会被对不同数据的较新请求所取代。这是基于对服务器进行的多个 LoadOperations,然后用户单击取消按钮。
如果我使用 LoadOperation 并在其上调用 'Cancel' 方法,则操作似乎取消,但服务器端代码并未停止,使用 fiddler 可以看到操作完成并返回 HTTP 状态代码 200。
当您调用“取消”时,服务器上会做什么,我希望它调用 ThreadAbortException 或类似的东西?这可以改进吗?
所以我查看了反编译的 RIA 服务源代码,似乎取消只是客户端。没有对服务器端进程进行任何更改。
基本上,当您运行时operation.Cancel(),它会确保操作可以取消(operation.CanCancel),然后将其标记为已取消,并触发完成操作。
这意味着服务器端操作仍在继续,但响应客户端完成后没有执行任何操作
操作完成后,您需要检查该operation.IsCanceled属性以查看该操作是否已取消。如果是这样,请忽略结果。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           991 次  |  
        
|   最近记录:  |