服务器重启后,客户端无法立即恢复与服务器的连接。相反,它仅在空闲15秒后恢复连接。我也无法使用同一进程中新创建的通道/客户端调用服务器。但是如果我在单独的进程中启动一个新的客户端实例,它就会成功连接。
我不确定但是假设在从1.0.0移动到1.6.1 grpc版本后问题出现了。也许引入了任何新的设置来改变这种行为?
我的通话状态:
0. Grpc.Core.Internal.CompletionQueueSafeHandle.Pluck (Source Unavailable)
1. Grpc.Core.Internal.AsyncCall`2.UnaryCall (Source Unavailable)
2. Grpc.Core.DefaultCallInvoker.BlockingUnaryCall (Source Unavailable)
3. Grpc.Core.Internal.InterceptingCallInvoker.BlockingUnaryCall (Source Unavailable)
答案 0 :(得分:0)
也许引入了任何新设置来改变这种行为?
我查看了从1.0.0到1.6.1的grpc发行说明,发现在1.6 note(C#部分)中进行了相关的更改:
用户处理程序不再在Grpc的线程池上运行以提高安全性。
您可能需要对处理程序进行一些代码调整。 希望这会有所帮助。