C#のRedisライブラリ「BookSleeve」の利用法。Redis、面白いし、Windowsで試すのも想像以上に簡単なので、是非是非試してみて欲しいです。5.0でのコーディングの仕方のトレーニングになる(笑)。にちじょー的にasync/awaitを使い倒すと、そこから色々アイディアが沸き上がっきます。syncがasyncになった、などというだけじゃなく、アプリケーションの造りが変わります。いう意味では、Taskは結構過小評価されてるのかもしれないな、なんて最近は思っています。RedisにはPub/Sub機能がついているわけですが、Pub/Sub→オブザーバーパターン→Rx!これはティンと来た!と、いうわけで、これ、Rxに乗せられました、とても自然に。いうわけで、□□を○○と見做すシリーズ、なCloudStructuresにRx対応を載せました。-Pre追加したクラスはRedisSubject<T>。これはSubjectやAsyncSubjectなどと同じく、ISubject<T>になっています。IObservableであり、IObserverでもある代物。コード例を見てください。OnCompletedを受信したSubscriberもUnsubscribeされるはい、別になんてこともない極々フツーのRxのSubjectです。これはネットワークを通って、Redisを通して、全てのSubscriberへとメッセージを配信しています。いやまあ、コードの見た目からじゃあそういうの分からないので何も感動するところもないのですが、とにかく、本当に極々自然に普通に、しかし、ネットワークを超えます。この、見た目何も変わらずに、というところがいいところなわけです。Subscribeする側はIObservableなので別にフツーに合成していけますし、Publishする側もIObserverなので、Subscribeにしれっと潜り込ませたりしても構わない。普通にインメモリなRxでやる時と同じことが、できます。