我有一个应用程序,我需要在其中通过服务查询共享点站点。该应用程序将被大量使用,因此性能和可扩展性将是我的两个优先事项。
我开始研究哪种服务方法更好,从性能的角度来看,似乎客户端对象模型是官方建议的,但是当我谈到可伸缩性时,我个人发现实际上 Web 服务似乎比客户端对象模型更有效。这是因为 Web 服务似乎对 IO 绑定操作具有异步支持,而不是客户端对象模型不支持。我说不是,因为正如Stephen Toub所说,异步调用同步方法的能力对可伸缩性没有任何作用,我认为 BeginInvoke 就是这样做的。
我不得不提一下,我在我的应用程序中使用 C# 5 async/await 功能,以便在服务器上执行查询时将线程返回到线程池。
我的问题是,为了做出决定,应该更重视什么?
编辑:值得一提的是,我没有使用 Silverlight CSOM,我使用的是更通用的 .NET。