Web services 处理Web服务的最佳实践&x27;在Silverlight中获取类似于ById的方法

Web services 处理Web服务的最佳实践&x27;在Silverlight中获取类似于ById的方法,web-services,silverlight,.net-4.0,Web Services,Silverlight,.net 4.0,处理源自多次调用的WebService方法的已完成事件的最佳实践是什么,已完成事件被订阅了那么多次 建议从事件args中标识结果(在本例中,使用e.Type,但也可以使用e.result.Id或任何有助于标识所需内容的工具) 另一方面,显示每个调用的客户端初始化 最好做什么 根据其内容/附加信息识别结果 使用多个客户端,每个事件一个 还有别的吗 问题是针对.NET 4.0及更新版本的,但如果您有一个“最佳实践”可以从早期版本中使用,并且仍然可行,请随时告诉我。我以前使用过的一种方法是链接we

处理源自多次调用的WebService方法的已完成事件的最佳实践是什么,已完成事件被订阅了那么多次

建议从事件args中标识结果(在本例中,使用e.Type,但也可以使用e.result.Id或任何有助于标识所需内容的工具)

另一方面,显示每个调用的客户端初始化

最好做什么

  • 根据其内容/附加信息识别结果
  • 使用多个客户端,每个事件一个
  • 还有别的吗

问题是针对.NET 4.0及更新版本的,但如果您有一个“最佳实践”可以从早期版本中使用,并且仍然可行,请随时告诉我。

我以前使用过的一种方法是链接web服务调用。因此,当第一次调用完成时,我从已完成事件中注销,然后使用不同的回调方法注册到另一个或同一个事件,依此类推。。。我知道这并不是一种完美的方法,但延迟很小,更不用说不存在了,而且它没有管理许多代理实例那么复杂。我们确实考虑过有多个客户端,如果你需要并行调用,这可能是一个很好的方法。p> 根据您尝试执行的操作,您可能希望创建一个类,该类表示涉及web服务的每个逻辑任务。为逻辑任务的每个实例创建该类的实例,并为该类提供事件


每个事件的
sender
参数将是包装类的实例。然后,您可以让一段代码处理每个逻辑线程的事件,“逻辑线程”将包含所有必要的状态。

您的意思是使用多个包装器实例,这些实例都引用同一个服务实例吗?这些实例将如何识别“他们”的答案?你是对的。那不行。您使用的是哪个版本的.NET?这个问题不是针对某个特定版本的.NET,但因为它确实会导致Web服务上的差异,所以我将编辑我的问题来说明这一点。