コード例 #1
0
        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);
            }
        }
コード例 #2
0
 private IOrganizationService GetCrmService()
 {
     crmServicesQueue.TryDequeue(out var crmService);
     return(crmService ?? factory.CreateCrmService());
 }