private IOrganizationService GetCrmService(bool isSkipQueue = false) { lock (crmServicesQueue) { IOrganizationService crmService = null; if (!isSkipQueue) { crmServicesQueue.TryDequeue(out crmService); } if (crmService.EnsureTokenValid(poolParams.TokenExpiryCheckSecs ?? 600) == false) { crmService = null; } if (crmService != null) { return(crmService); } crmService = factory.CreateCrmService(); createdCrmServicesCount++; return(crmService); } }
private IOrganizationService GetCrmService() { crmServicesQueue.TryDequeue(out var crmService); return(crmService ?? factory.CreateCrmService()); }