1

約 50 人のユーザーが使用する .NET 2.0 Windows アプリケーションがあります。アプリケーションのメイン UI 要素は、インタラクティブなガント チャート (iLOG Gantt 3.0) です。1 人のユーザーがガント チャートに変更を加えると、その変更がすべてのクライアントで更新されるようにします。

誰かがこれを効果的に実装する方法を提案できますか?

これまでのソリューション候補は

  • 接続された各ノードからの変更についてDBサーバーをポーリングします(!!)
  • メッセージ キュー ベースのソリューション (パブリッシュ/サブスクライブ モデル)

他に選択肢はありますか?

4

1 に答える 1

1

50 人のユーザーは少数です。データベースのポーリングは、適切に行われれば大きな影響はなく、アーキテクチャに余分な部品を必要としない最も簡単な方法です。

スケーラビリティの問題が心配な場合は、比較的単純な代替手段として、クライアントが接続するデータベース サーバー上で TCP または UDP ソケット ベースの小さなサービスを実行することができます。次に、データベースを定期的にポーリングし、変更が発生するたびに、接続されているクライアントに信号を送信します。

于 2012-10-10T09:59:06.760 に答える