SignalR 2.0 rc1 release notes https://t.co/Alz4Z6huTP
— David Fowler (@davidfowl) August 24, 2013
最近は SignalR を全然弄っていなかったですが、ちょっと前に 2.0 RC 1 が NuGet で公開されたようです。
NuGet Gallery | Microsoft ASP.NET SignalR 2.0.0-rc1
リリースノートは GitHub にて公開されています。
2.0.0-rc1 · SignalR/SignalR · GitHub
内容を確認したところ、継続的に OWIN との統合にリソースを割いているように感じます。後はバグ修正がメインのリリースと言ったところでしょうか。メモリリークなども解消されているので、動作の安定性向上も期待できそうです。
個人的には、簡単に複数のクライアント ID へのメッセージ送信が出来るようになったのが嬉しいです。
今までは以下のように foreach でループする必要がありました。
// コネクション ID の数だけループする foreach (var connectionId in user.ConnectionIds) { Clients.Client(connectionId).Send("test message"); }
しかし、SignalR 2.0 からは Clients.Clients メソッド*1で、複数のクライアントへ一括で送信できるようになるみたいです。
Clients.Clients(user.ConnectionIds).Send("test message");
ループして複数回送信を行うよりも、内部的に効率が良くなるのは間違いなさそうです。
これの何が嬉しいかと言うと、リリースノートのサンプルコードにも書かれていたように、1 ユーザーに対して複数のコネクション ID が割り当てられるシチュエーションで効果を発揮します。PC やスマホなど、複数個所から利用されるようなサービスでは、ユーザーにコネクション ID が紐づくので実装が楽になりますね。
SignalR 2.0 の正式版もまもなくリリースとなりそうですね。楽しみです。
*1:名前は凄くイケてない