それは完全に正しいです。 「Get」(BookSleeve)は遅延したbyte[]
を返します 。実際のbyte[]
を取得するためにWaitを正しく使用しました 、次にMemoryStream
を使用しました このbyte[]
を介して Deserialize
を呼び出す protobuf-net経由。
すべて良い。
あなたが醜いと思うステップを明確にすれば、私はもっと具体的にすることができるかもしれませんが:
- BookSleeveは
Task
を介して完全に非同期です 、したがって、Wait
のいずれかが必要です またはContinueWith
byte[]
にアクセスするには - protobuf-netは完全にストリームベースであるため、
MemoryStream
が必要です。byte[]
の上に座る
もちろん、汎用ユーティリティメソッド(おそらく拡張メソッド)を追加する場合は、一度だけ記述する必要があります。
また、ラッパークラス(一部のトラッキング/スライディング有効期限用)とL1キャッシュ(L2としてのRedis)の追加により、これはスタックオーバーフローでの使用方法とほぼ同じです。
注:接続はスレッドセーフであり、大規模に共有されることを目的としています。操作ごとに接続を行わないでください。