apache / apache/iotdb-client-csharp

Why doesn’t SessionDataSet implement the IAsyncDisposable interface?

未关闭
#54 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C#
星标
24
派生
6
PR 合并指标
30 天内没有已合并 PR

描述

Currently, SessionDataSet implements the IDisposable interface. However, in its Dispose() method, the asynchronous Close() method is invoked synchronously.

Actual implementation:
```csharp
protected virtual void Dispose(bool disposing)
{
if (this.disposedValue)
return;
if (disposing)
{
try
{
//synchronous call
this.Close().Wait();
}
catch
{
}
}
this.disposedValue = true;
}
```

Proposed implementation:
```csharp
protected virtual Task DisposeAsync(bool disposing)
{
if (this.disposedValue)
return;
if (disposing)
{
try
{
//asynchronous call
await this.Close();
}
catch
{
}
}
this.disposedValue = true;
}
```

贡献指南

这个仓库没有索引到贡献指南

调研方向

定位 SessionDataSet,并检查其现有的 IDisposable 实现,尤其是 Dispose() 和异步 Close() 入口点。确认该类支持异步释放,并且在不改变现有同步释放行为的情况下等待 Close() 完成;该 issue 未提供测试或文件路径,因此应针对两条释放路径检查完成情况。

由索引模型根据 Issue 内容生成。

评估

技术栈
csharp
领域
api
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。