【发布时间】:2021-12-17 15:56:43
【问题描述】:
我用 C# 创建了一个 gRPC 服务器。非常简单。
让我困惑的是,所有消息请求的返回类型都是Tasks。
来自问候服务器示例:
public override Task<HelloReply> SayHello(HelloRequest request, ServerCallContext context)
{
return Task.FromResult(new HelloReply { Message = "Hello " + request.Name });
}
我想知道为什么返回类型不只是HelloReply。我开始创建自己的服务器并继续返回Task.FromResult,但实际上这不是 Task 的使用方式。所以我担心我错过了一些东西(关于性能?)。但另一方面,我无法想象可能有什么问题。对于每个请求,gRPC 服务器本身都是并行的,不是吗?
那么我在什么情况下返回Task有用呢?
【问题讨论】: