2012-11-09 10 views
7

私は、そのメッセージングのためにSignalR Hubを使用してチャットルームを持っています。時折、私はどこから凍っているのかという報告を受け取ります。メッセージが届かないため、これはグループから削除されたものと思われます。グループ購読はReconnectで自動的に処理されますか?

私の質問は、接続が自動的にそのグループへの再加入を取得、またはあなたが再接続方法で何かを自分で行う必要がありますし、次のとおりです。

public Task Reconnect(IEnumerable<string> groups) 
{ 
     return Clients.rejoined(Context.ConnectionId, DateTime.Now.ToString()); 
} 

答えて

5

はい、1.0.0.0-アルファ1であなたは新しいAutoRejoiningGroupsModuleパイプラインモジュールを使用して、作成するハブパイプラインの拡張方法EnableAutoRejoiningGroupsを使用して、グループの自動再結合を有効にすることができます。この機能は以前のバージョンのフレームワークでは利用できませんでした。

だから、あなたはあなたのスタートアップコードでは、このどこかで終わるでしょう:

GlobalHost.HubPipeline.EnableAutoRejoiningGroups(); 

UPDATE:

はSignalR 1.0の最終版は、グループの自動再結合デフォルトの動作をしたことに注意してくださいしたがってEnableAutoRejoiningGroupsが削除されました。詳細はthis answerをご覧ください。

+0

ボーナスの質問でハイジャック:グループから人を再び忘れるべきですか、コネクションIDが切断されたときに自分自身を解決する必要がありますか? –

+2

切断すると消去されます。 – davidfowl

+1

'EnableAutoRejoiningGroups()'はもう使用できません。また、自動再結合はhttp://stackoverflow.com/questions/14967575/enableautorejoininggroups-disappeared-in-signalr-1-0に基づいたデフォルトの動作です。 –

関連する問題