微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在.NET gRPC流客户端中检查连接

如何解决如何在.NET gRPC流客户端中检查连接

我在.NET中有一个gRPC服务器流客户端,如下所示:

                    var request = new InvoiceSubscription { };

                    using var call = lightningClient.SubscribeInvoices(request,null,cancellationToken);
                    
                    // If the connection to the lightningClient is broken the line below throws
                    while (await call.ResponseStream.MoveNext(cancellationToken))
                    {
                        var invoice = call.ResponseStream.Current;

                        // handle the newly received invoice...
                    }

现在,如果gRPC服务器已关闭/没有连接await call.ResponseStream.MoveNext(cancellationToken)抛出。

有没有一种很好的方法来检查gRPC服务器的连接是否存在而又不会抛出异常?

我正在寻找类似的东西,但这不起作用:

                    using var call = lightningClient.SubscribeInvoices(request,cancellationToken);

                    // get status from streaming call
                    var status = call.GetStatus();

                    // determine if status code OK is returned
                    if (status.StatusCode == StatusCode.OK)
                    {
                        // Ok,handle connection alive
                    }
                    else
                    {
                        // Ok,handle connection not alive
                    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。