2

Silverlightクライアントとの通信に使用している既存のWCFサービスがあるため、NetTCPバインディングで使用しています。この同じサービスをJavaScriptクライアントで使い始めたいのですが、理想的にはサービスの変更をできるだけ少なくします(つまり、SilverlightクライアントとJSクライアントが同じデュプレックスサービスを呼び出せるようにします)。理想的には、これは、Cometのようなハックではなく、WebSocketのような適度にパフォーマンスが高くスケーラブルな技術によって発生します。

これを行うための最良の方法は何ですか?

WebSocketサポートを(NetHttpBindingを介して)サービスに追加することは、それを行うための1つの明白な方法のように思えますが、JavaScriptから結果のサービスを呼び出す方法に関するドキュメントはないようです。デフォルトのバイナリトランスポートの代わりにテキストベースのトランスポートを使用するように構成し、JavaScriptベースのSOAPクライアント(おそらくWSDL2JSを使用)を一緒にハックして呼び出すことができると思います。それはうまくいくはずのように感じますが、かなり厄介であり、十分に文書化されていないミックスのいくつかの部分があります。

XSocketsSuperWebSocketなどのフレームワークでサービスを再実装することもできますが、それは実際の作業であり、WCF実装との同期を維持することはその上にあります。

他に何か考えはありますか?

4

1 に答える 1

1

私はXSockets.NETの背後にいる人の1人です。私はこれであなたを助けることができます。XSocketsには「外部」APIがあり、WCF(またはTCP / IPと.NETを通信するその他のもの)から使用して、XSocketsサーバーにメッセージを送信できます。次に、サーバーはメッセージ(pub / subパターン)をクライアントに渡します。その逆も同様です。

したがって、WCFにほとんど変更はありません。

例が必要かどうか教えてください。例を提供します。xsocketsdotnetにメールを送ってください。そこからメールを受け取ることができます。

編集:WCFをリアルタイムにブーストする方法の例を作成しました。GitHubにあります:WCFをリアルタイムにブーストします

よろしくUffe、Team XSockets

于 2012-10-31T19:32:32.363 に答える