4

呼び出されたときに接続されたクライアントに起動できる変数サーバー側をどのように保存できるのか疑問に思いました。

同時辞書を使用して接続GUIDを追跡し、文字列やその他のデータ型(たとえば、最後の10個のメッセージ)をサーバーに保存できるかどうか疑問に思っていたので、新しい接続が発生すると、クライアントは最後の10個のメッセージを取得します。事前に接続されていない場所。

私はそれの多くの使用法を見ることができましたが、これについてはあまり見ていません、これは眉をひそめていますか?または悪い習慣ですか?サーバー側に巨大な文字列を保存すると、多くの問題が発生する可能性があることがわかります。しかし、私が提案しているのは本当にそんなに悪いのでしょうか。

4

1 に答える 1

5

いいえ、まったく眉をひそめていません。SignalRをテストするためのフラッグシップアプリケーションであるJabbRは、IRCによく似たチャットシステムであり、「部屋」、メッセージ、ユーザー名/ID情報などを保存します。

それらをどのように保存するかはあなた次第です。JabbRは、たまたまADO.NETEntityFrameworkを使用してデータをSQLDBに格納しています。明らかに同じことを行うことも、RavenDBやAzureTableStorageなどを使用することもできます。

必要なのは、ハブにロジックを実装することだけです。メッセージが届いたら、その種類のメッセージに適した種類のデータアクセス/ストレージを実行します。

これがどのように機能するかをよりよく理解するために、ここGitHubで入手できるJabbRソースコードを確認することを強くお勧めします。

于 2012-07-30T16:34:26.243 に答える