25. gRPC based C# Network Framework
gRPCの性能や安定性 + C#的な使いやすさ
26. public class TestService : MagicOnionService
{
// ふつーにpublicメソッドを定義するだけ
public async Task<int> Sum(int x, int y)
{
return x + y;
}
public async Task<string> Download(string url)
{
// 非同期もasync/await構文で同期的にOK
var result = await new HttpClient().GetStringAsync(url);
return result;
}
}
// ふつーのgRPCのコネクション
var channel = new Channel("127.0.0.1:12345");
// .Service<T>でクライアントが実行時動的生成されてシームレスに呼び出し可能
var result = await new MagicOnionClient(channel).Service<TestService>().Sum(100, 200);
struct ZeroFormatter$AutoGenerate$1
{
public int x;
public int y;
}