サービスを介して共有ポイント サイトにクエリを実行する必要があるアプリがあります。アプリは頻繁に使用されるため、パフォーマンスとスケーラビリティが私の優先事項の 2 つになります。
どのサービス アプローチが優れているかを調査し始めました。パフォーマンスの観点からは、クライアント オブジェクト モデルが公式に提案されているもののようですが、スケーラビリティに関しては、実際には Web サービスがクライアント オブジェクト モデルよりも強力であるように思われることが個人的にわかりました。これは、Web サービスがIO バウンド操作をサポートしていないクライアント オブジェクト モデルではなく、非同期サポートを持っているように見えるためです。Stephen Toubが言ったように、同期メソッドを非同期的に呼び出す機能はスケーラビリティには何の役にも立ちません。
サーバーでクエリが実行されたときにスレッドをスレッド プールに戻すために、アプリで C# 5 の async/await 機能を使用していることに言及する必要があります。
私の質問は、決定を下すために何を重視すべきかということです。
編集:私は Silverlight CSOM を使用していないことに言及する価値があります。より一般的な .NET を使用しています。