103

私はブラウザー内で gmail のようなメッセージングを実装する方法を検討しており、Cometの概念にたどり着きました。ただし、IIS 内でこれを実行できる適切な .NET 実装を見つけることができませんでした (このアプリケーションは ASP.NET 2.0 で記述されています)。

私が見つけた(または考えられる)解決策では、ユーザーごとに実行中のスレッドを残す必要があります。これにより、ユーザーがメッセージを受信したら応答を返すことができます。もちろん、これはまったくスケーリングしません。

私の質問は、別の方法で動作する Comet の ASP.NET 実装を知っていますか? それはIISでも可能ですか?

4

8 に答える 8

44

コメットの持続的接続のため、コメットはIISでの拡張が困難ですが、現在コメットのシナリオを検討しているチームがあります。また、Aaron Lerchのブログもご覧ください。彼は、ASP.NETで初期のCometの作業を行ったと思います。

于 2008-09-16T04:08:26.303 に答える
33

WebSyncは、IIS/.NET パイプラインに直接統合される、標準に準拠したスケーラブルな Comet サーバーです。また、ホステッド サービスとしてオンデマンドで利用することもできます。

公式には、サーバー ノードごとに最大 20,000 の同時クライアント接続をサポートしていますが、個々のテストでは 50,000 に達することが確認されています。メッセージ スループットは、1,000 ~ 5,000 の同時クライアント マーク付近で最適になり、1 つのノードから 1 秒あたり 300,000 ものメッセージが配信されます。

JavaScript、.NET/Mono、iOS、Mac OS X、Java、Silverlight、Windows Phone、Windows ランタイム、および .NET Compact のクライアント側サポートと、.NET/Mono および PHP のサーバー側サポートが含まれています。

クラスタリングは、SQL Server または Azure Caching を使用してすぐにサポートされますが、カスタム プロバイダーは、ほぼすべてのもの (Redis、NCache) に対して記述できます。

免責事項:私はこの製品を開発する会社で働いています。

于 2009-07-27T19:37:27.350 に答える
4

実際、ASP.NET で ajax 対応の Web サイトを作成するには多くの選択肢がありますが、正直なところ、comet ajax 対応の Web アプリケーションを作成するにはPokeInが最も簡単な方法です。私の会社のプロジェクトの1つを保存しました。

于 2010-07-20T14:54:22.713 に答える
3

また、webSocket [HTML5] ゲートウェイの製品リリースを行ったKaazing Enterprise Gatewayもご覧ください。このゲートウェイは、コメット方式を完全に置き換え、ブラウザーとアプリケーション サーバー間の全二重接続を可能にします。

Light Streamer Demosもご覧ください。

于 2009-04-23T18:28:49.453 に答える
1

WS-Iグループは、Glass Fishと.NETの実装が明らかに相互運用している、 「ReliableSecureProfile」と呼ばれるものを公開しました。

運が良ければ、Javascriptの実装もあります。

HTTPデュプレックスを使用するSilverlight実装もあります。 javascriptをSilverlightオブジェクトに接続して、プッシュが発生したときにコールバックを取得できます。

商用の有料版もあります。

于 2011-04-20T01:52:03.787 に答える
0

Web ファームを水平方向に拡張する準備ができていない限り (Web サーバーを追加することによって)、Comet のアプローチは実際にはスケーラブルではないと思います。それが機能する方法は、ユーザー セッションごとに TCP 接続を開いたままにすることです。これにより、サーバーは時々その接続に何かをプッシュして、ユーザーに変更やアクティビティをすぐに通知できます。

于 2008-09-16T03:29:56.133 に答える