我正在为域对象创建一个类似“属性”的界面。这意味着当房产发生变化时应通知客户。
目前似乎Grpc wants me创建了一个长期存在的流:
// .proto file
rpc Events(Empty) returns (stream Event){}
...
// client code
// for every subscribed event:
var events = _client.GetEvents(empty).ResponseStream;
while (await events.MoveNext()) {
HandleEvent(events.Current);
}
“长期流媒体”调用适用于简单的案例。但是这些调用中的每一个都会导致服务器端线程。我的解决方案无法扩展到多个观察者。
这个问题可以在Grpc中解决吗?或者我必须确保我只使用尽可能少的事件监听器?或者为服务器使用不同的协议 - >客户端流?