apache / apache/iotdb-client-csharp
Why doesn’t SessionDataSet implement the IAsyncDisposable interface?
- Linguagem predominante
- C#
- Estrelas
- 24
- Forks
- 6
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
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;
}
```
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Localize SessionDataSet e inspecione sua implementação existente de IDisposable, especialmente Dispose() e o ponto de entrada assíncrono Close(). Confirme que a classe oferece suporte à disposição assíncrona e que Close() é aguardado sem alterar o comportamento de disposição síncrona existente; a issue não fornece um teste nem um caminho de arquivo, portanto a conclusão deve ser verificada em ambos os caminhos de disposição.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- csharp
- Domínio
- api
- Tipo de issue
- Funcionalidade
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Pouca atividade
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 48/100