Пример #1
0
        private async Task EnsureOrleansClusterConnection()
        {
            if (_clusterClient == null)
            {
                throw new NullReferenceException(nameof(_clusterClient));
            }

            if (_clusterClient.IsInitialized)
            {
                OrleansLog.Connected(_logger);
                return;
            }

            OrleansLog.NotConnected(_logger);
            await _clusterClient.Connect(async ex =>
            {
                if (_retries >= 5)
                {
                    throw ex;
                }

                OrleansLog.ConnectionFailed(_logger, ex);
                await Task.Delay(2000);
                _retries++;
                return(true);
            });

            OrleansLog.ConnectionRestored(_logger);
        }
        private async Task EnsureOrleansClusterConnection()
        {
            if (_clusterClient.IsInitialized)
            {
                OrleansLog.Connected(_logger);
                return;
            }

            OrleansLog.NotConnected(_logger);
            await _clusterClient.Connect(async e =>
            {
                if (_retries >= 8)
                {
                    throw e;
                }

                OrleansLog.ConnectionFailed(_logger, e);
                await Task.Delay(2000);
                _retries++;
                return(true);
            });

            OrleansLog.ConnectionRestored(_logger);
        }