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

GRPC - 使用完 IService 后是否需要处置或关闭它?

如何解决GRPC - 使用完 IService 后是否需要处置或关闭它?

IService service = MyGrpcChannel.CreateGrpcService<IService>();
long[] ids = service.GetIds();

当我使用完 IService 时,我需要做些什么来关闭/销毁它吗?

解决方法

没有必要,该服务只是频道上的薄饰:

https://github.com/protobuf-net/protobuf-net.Grpc/issues/166

我还做了一个测试,创建了 100 万个服务:

for(int i = 0; i <= 1000000; i++)
{
    MyGrpcChannel.CreateGrpcService<IService>().GetIds();
}

任务管理器上没有内存泄漏。在执行开始时,它使用了 100mb,在结束时也是如此。

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