jsonServiceClient中的内存(句柄)泄漏

时间:2016-03-04 13:17:49

标签: servicestack

最新的jsonServiceClient(4.0.54)在每个同步GET请求(可能还有POSTS)之后将句柄保持打开状态。

我的猜测是它像身体的流一样,如果未读,仍然保持打开状态,慢慢地研磨我们的测试。假设这是我们自己的代码,我们在浪费了一整天之后没有进一步跟进:/

尽管处理了客户端,但运行10,000次提取的循环会显着减慢我们的测试速度。

Async get不会发生这种情况。

1 个答案:

答案 0 :(得分:3)

此问题已在此ServiceStack Customer Forums thread中确定为未处理HttpWebResponse次回复。可以通过在using{}语句中调用此问题来解决此问题,例如:

using (HttpWebResponse webRes = client.Get(requestUri)) {
    byte[] bytes webRes.GetResponseStream().ReadFully();
    string str = bytes.FromUtf8Bytes();
}