Skip to content

concurrent resolves share one subscribe

Latest

Choose a tag to compare

@dmitry-lebedev dmitry-lebedev released this 18 Oct 08:19

Concurrent resolves of one entity no longer leave a dead API client in the cache.

Fixed

  • Two concurrent GetServiceAsync calls for one entity could cache an API client that threw ObjectDisposedException on every call; concurrent resolves now share one subscribe and one live client.
  • A cross-entity subscribe racing GetServiceAsync on the same entity no longer kills the API client either.
  • DisconnectAsync / supersede restart during an in-flight subscribe fails that resolve with OperationCanceledException instead of caching the dropped connection afterwards.