「試験的」と銘打たれてはいますが、gRPC C# 1.10 でインターセプターが追加されました。どのように使うのかを確認してみました。
2018年5月19日土曜日
2018年5月12日土曜日
gRPC ヘルパーライブラリ(C#)に機能を追加しました
先日公開した gRPC のヘルパーライブラリに機能を追加しました。
- ASP.NET Core 用の HttpGateway
- 任意のサービスに Heartbeat 用メソッドを追加する機能
- 拡張メソッドの追加
1. ASP.NET Core 用の HttpGateway
JSON で受け取ったリクエストをデシリアライズして RPC メソッドを呼び出し、レスポンスを JSON にシリアライズしてクライアントへ返します。
ストリーミングには対応していません。ServerStreaming, DuplexStreaming ではリクエストの配列をシリアライズした JSON を受け取り、ClientStreaming, DuplexStreaming ではレスポンスの配列をシリアライズした JSON を返します。
2. 任意のサービスに Heartbeat 用メソッドを追加する機能
DuplexStreaming による Heartbeat を行うためのメソッドをサービスに追加することができる機能と、そのメソッドをクライアントから簡単に呼び出せる機能を追加します。
3. 拡張メソッドの追加
AsyncClientStreamingCall, AsyncServerStreamingCall, AsyncDuplexStreamingCall のレスポンスを別の型にコンバートしてから実行結果として返すメソッドなど、新たな拡張メソッドを追加します。
GitHub
https://github.com/mxProject/gRPCHelperNuGet Gallery
mxProject.Helpers.Grpc.Common:共通ライブラリmxProject.Helpers.Grpc.Client:クライアント用ライブラリ
mxProject.Helpers.Grpc.Server:サーバー用ライブラリ
mxProject.Helpers.Grpc.AspNetGateway:ASP.NET Core 用 HttpGateway ライブラリ
2018年5月7日月曜日
Protocol Buffers オブジェクトを MongoDB に格納する 2
Protocol Buffers の IDL で定義された型のオブジェクトを MongoDB に格納できるかどうかを検証しています。前回 に続き、今回は Map や Any について調べました。
MongoDB 公式の C# 実装である MongoDB.Driver (2.5.1) を使用しています。
MongoDB 公式の C# 実装である MongoDB.Driver (2.5.1) を使用しています。
2018年5月2日水曜日
Protocol Buffers オブジェクトを MongoDB に格納する
Protocol Buffers の IDL で定義された型のオブジェクトを MongoDB に格納できるかどうかを検証しています。gRPC で受け取ったオブジェクトをそのまま MongoDB に格納するようなストーリーを想定しています。
単純な型であれば特に問題なく格納できるのですが、やはりいろいろな前提や制限があるようです。
登録:
投稿 (Atom)
paiza のスキルチェックをやってみました
いまさら感はありますが、 paiza のスキルチェックをやってみました。指定された時間内にコードを書いてユニットテストにかけ、その結果を基に評価を数値化してくれるというものですが、ゲーム感覚で空き時間を見つけて進めていこうと考えています。 どうやら時間が短いほど高い評価を得...
-
多くのコーディング標準では、グローバル変数は極力使用しないようにしてくださいと説明されています。 グローバル変数が推奨されない主な理由には次のようなものがあります。 どこからでも値を変更できてしまう 値が変更されたことを検知できない 値を変更する複数の処理を同時に実...
-
VB.net のソースコードを見ていると、使い終わった変数を解放するために Nothing を代入しているコーディングを見かけることがあります。これでは必ずしもリソースは解放されませんし、むしろリークの原因になります。Nothing を代入する意味を理解しておく必要があります。 ...
-
.NET Framework では例外の捕捉には Try-Catch を使用しますが、正しく利用されていないのをときどきみかけます。誤った例外処理は補足すべき例外を見逃したり、例外情報を取得できなくなったりする原因になります。 ※これは2013年に書いたものです。