4

ASP.NETでReverseAjax(Comet)を実装する方法の基本的な例を探しています。私はすでに以下のものを見ました、そして私はそれらを今は使いたくありません(それらは支払われているので)

http://www.frozenmountain.com/websync/ http://www.lightstreamer.com/demos.htm

私はすでにSOで言及されているさまざまなリンクにアクセスしました。しかし、それらのほとんどは外部APIを指しています。私はそれを実装する方法の明確な例を探しています。

4

5 に答える 5

9

残念ながら、あなたはそれを見つけることができません。リバースAjaxは複雑なタスクであり、クロスブラウザー互換であり、適切な状態とスレッドの管理を持ち、スケーラブルであるためには、サーバー側とクライアント側の両方の「魔法」が必要です。基本的に、cometサーバーは、クライアントごとのストリーミング接続(または長いポーリング)+巧妙なスレッド管理です。さらに、適切なコメットサーバーを作成するには、Bayeuxプロトコルを完全に実装する必要があります。

IISでそのようなものを実装する方法についてのCodeProjectに関する記事がありますが、それでも非常に複雑です。

私たちは独自の何かを実装することを検討しましたが、それは私たちに数ヶ月の作業を要し、それらの製品は本当に安く出てくるので、すぐにそれを拒否しました。

また、そのようなものを実装する方法に本当に興味がある場合は、難読化されていないため、WebSyncソースコードを掘り下げることから始めるのが最適です。彼らはそこにかなりの数のユニークなノウハウを持っているので、盗作には注意してください。

別のオプションは、他のプラットフォーム(他の言語のオープンソースコメットサーバー)を検討することです。それらはC#よりもタスクにはるかに適していることがわかるかもしれません。たとえば、erlangでcometサーバーを作成するのは非常に簡単です。

編集: SOには、実際に役立つ可能性のある2つの非常によく似た質問があります 。ASP.NETのComet実装ですか?シンプルな「ロングポーリング」のサンプルコード?

于 2011-01-17T10:59:41.713 に答える
4

http://pokein.codeplex.com/をご覧ください

于 2011-01-18T09:48:42.673 に答える
2

SignalRを見てください。無料で、非常に使いやすく、うまく機能します。

https://github.com/SignalR/SignalR

スコット・ハンゼルマンは彼のブログでもそれについて語っています

于 2012-02-01T19:19:10.383 に答える
1

私は同じものを探していましたが、オープンソースのhttps://github.com/nmosafi/aspCometを見つけました(必要に応じて貢献できます)。彼らはあなたが見ることができるサイトに実用的なサンプルを持っています。彼らにはあなたが役に立つと思うかもしれないデザインの決定などのいくつかについてブログを書く人がいます(ブログリンク

于 2011-01-19T09:58:54.463 に答える
0

Javascriptをサーバーにリンクする方法としてSilverlightPollingDuplexHttpBindingを検討する場合は、このSOの質問を参照してください。

于 2011-03-27T14:05:40.647 に答える