如何解决.NET CORE GRPC 流异常
我正在使用 gRPC(BI 定向流)开发 .NET Core 聊天室。 客户端,目前,是一个控制台应用程序(.net core 3.1,服务器是 5.0)。 客户端 - 服务器通信工作正常,突然间,我开始抛出 RpcExceptions。 问题是,抛出的异常有 StatusCode=OK 并且没有详细信息。 这是一个代码示例(简化)
服务器流 RPC
if (!await requestStream.MoveNext())
return;
//Open Connection - set user stream to server's output
client.Stream = responseStream;
while(await requestStream.MoveNext())
{
var chatMessage = requestStream.Current;
chatMessage.Msg = $"{requestStream.Current.ClientName}: {requestStream.Current.Msg}";
foreach (var user in loggedClients)
{
user.Stream.WriteAsync(chatMessage);
}
}
客户端代码
using (var streaming = client.RPC_broadcastChatMessage(MetaData))
{
//Read stream and display on console
var readTask = Task.Run(async () =>
{
while (await streaming.ResponseStream.MoveNext())
{
Console.WriteLine($"{streaming.ResponseStream.Current.Msg}");
}
});
//Send first message (empty string) - for a welcome message
Console.WriteLine("Sending empty msg");
await streaming.RequestStream.WriteAsync(emptyMsg);
//Wait for messages from user and send to server
Console.WriteLine("Type message and press Enter to send...");
string line = Console.ReadLine();
while (!string.Equals(line,"exit",StringComparison.OrdinalIgnoreCase))
{
var stream = streaming.RequestStream;
var msg = new ChatMessage()
{
ClientId = clientId,ClientName = $"User{userNumber}",Msg = line,RoomId = roomId
};
await stream.WriteAsync(msg);
line = Console.ReadLine();
}
}
例外 Grpc.Core.RpcException: Status(StatusCode="OK",Detail="")
客户端和服务器都在本地运行。 我试过谷歌搜索异常,但还没有找到任何东西(不管怎样,与 statusCode=OK 无关)。 有人有任何线索吗?我将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。