More Related Content
Similar to 20191024 Get Start gRPC with ASP.NET
Similar to 20191024 Get Start gRPC with ASP.NET (20)
More from Takayoshi Tanaka
More from Takayoshi Tanaka (20)
20191024 Get Start gRPC with ASP.NET
- 2. 自己紹介
Senior Technical Support Engineer @ New Relic K.K.
◦ アプリケーションプラットフォーム監視(APM)のSaaSです
◦ 日本語サポート開始しました
◦ New Relicに関する勉強会の要望も受けます
Microsoft MVP for Azure
◦ .NET Core on Linux, Kubernetes, Azureなどのお仕事してました
◦ Visual StudioやQ#などにも興味があります
ソーシャル活動
◦ Twitter: @tanaka_733
◦ Blog: 銀の光と碧い空
- 4. gRPC + ASP.NET Coreの
主なターゲット
新規でRPCスタイルのサーバーサイドを開発したい
• 新規でASP.NET Coreでサーバー作るなら、
通常のREST API、SignalRとともに検討したい
WCFからの移行
• .NET Frameworkの一部であるWCFは基本的に新機能はもうこない
• のでMicrosoftとしてはgRPC + ASP.NET Coreに移行してほしい雰囲気を感じる
• MSからeBookも出ています
• https://docs.microsoft.com/ja-jp/dotnet/architecture/grpc-for-wcf-
developers/?WT.mc_id=DT-MVP-5000211
• 個人的にはサポートなくなるわけじゃないし、WCFのままでいいという人もいると思いますが…
- 9. .proto から C# クラスの自動生成
サーバーサイド
◦ テンプレートを使う場合は設定済み。それ以外の場合はGrpcServicesをServerに指定する
クライアントサイド
◦ ServicesをClientに指定して、手動でプロジェクトに設定。
WPFのみ既知の問題で動作しないため、クラスライブラリ経由。
Grpc.Tools をNuGetから参照に追加
Protobug アイテムをcsprojファイルに追加
◦ GrpcServicesはServer, Client, Both(デフォルト), Noneを指定可能
<ItemGroup>
<Protobuf Include="Protos¥greet.proto" GrpcServices="Server" />
</ItemGroup>
- 19. まとめ
ASP.NET Core 3でgRPCがサポートされました!
• C#で公式パッケージでgRPCサービス、クライアントが開発できます
• .protoをがりがり書いていく + C#のクラス自動生成
ただ動かすだけならすぐできるけど…
• 運用を想定すると考慮していないといけないことたくさん
• ASP.NET CoreがというよりgRPCを使う場合に言えそう
• どこで動かすかが、なにをフロントのLBとするかが一番の課題?
• C#同士なら、MagicOnionでgRPCではなくC#で記述も検討