【发布时间】:2020-06-15 16:36:15
【问题描述】:
为了让基本的字符串“流”在 C# 中工作而与 ServiceStack 库斗争了一段时间。
简而言之,我正在尝试从“原生”gRPC 复制基本示例。
原始缓冲区
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (stream HelloReply);
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings.
message HelloReply {
string message = 1;
}
服务器
public override async Task SayHello(HelloRequest request, IServerStreamWriter<HelloReply> responseStream, ServerCallContext context)
{
foreach (var x in Enumerable.Range(1, 10))
{
await responseStream.WriteAsync(new HelloReply
{
Message = $"Hello {request.Name} {x}"
});
await Task.Delay(200);
}
}
客户
var replies = client.SayHello(new HelloRequest { Name = "Laurent" });
await foreach (var reply in replies.ResponseStream.ReadAllAsync())
{
Console.WriteLine(reply.Message);
}
然后使用 ServiceStack 库,我无法正确完成服务器部分。我总是收到一条消息,告诉我我的函数“SayHello”未定义。
告诉我,谢谢!
【问题讨论】:
标签: c# servicestack grpc