文章目錄
在 Windows 上的 ASP.NET Core 中呼叫 gRPC
現在的工作主力都在 mac 上,但最近在測試功能時覺得與過去認知不同,特別用 Windows 測試一下,證實在 Windows 平台上功能與印象相同,為了日後比較方便,筆記一下
基本環境說明
- Windows 10 Pro 1903 (OS Build 18362.657)
- .NET Core SDK 3.1.102
- Visual Studio 2019 (16.4.5)
專案結構與 NuGet 套件
- GpcService (gRPC Service 預設專案範本)
- Grpc.AspNetCore 2.27.0
- GrpcMessages (.NET Core class library - 用來存放 *.proto)
- Google.Protobug 3.11.4
- Grpc.Net.Client 2.270.0
- Grpc.Tools 2.27.0
- GrpcClient (ASP.NET Core MVC 預設專案範本)
- Grpc.AspNetCore 2.27.0
- GpcService (gRPC Service 預設專案範本)
設定方式
這就是我在 macOS 與 Windows 兩個平台開發上覺得疑惑的點,Windows 上的設定非常簡單:
GpcService 設定開發憑證
這個不得不稱讚 Microsoft 在 Visual Studio 上的整合非常到位,透過 Visual Studio 2019 (其他 Visual Studio 版本,我沒有測試) 啟動
GpcService
就會提示加入與信任開發憑證GrpcClient 設定 GpcService 的 endpoint
在
Startup.cs
的ConfigureServices
方法中加入以下程式碼即可,與 在 macOS 上的 ASP.NET Core 中呼叫 gRPC 比較就知道設定差異了services.AddGrpcClient<GrpcMessges.Greeter.GreeterClient>(o => { o.Address = new Uri("https://localhost:5001"); });
心得
我個人覺得 Windows 在整體的使用上比較合理,不需要因為平台不同而加入必要的程式碼,雖然我知道這跟平台基礎架構有關,但還是覺得有些困擾,畢竟開發環境跟實際的 production 環境不是走相同 flow,多少有些擔心
參考資訊
文章作者 Yowko Tsai
上次更新 2020-12-11
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。