apache / apache/iotdb-client-csharp
Why doesn’t SessionDataSet implement the IAsyncDisposable interface?
- 主要语言
- 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