public AccountService(string accountServiceUrl, string accountServiceUrlWithCacheRefresh, string accountServiceUserName, string accountServicePassword, string blobServiceUrl, string fallBackBlobServiceUrl, int requestTimeOut, IHealthMonitor healthMonitor) { this.accountServiceUrl = accountServiceUrl; this.accountServiceUrlWithCacheRefresh = accountServiceUrlWithCacheRefresh; this.accountServiceUserName = accountServiceUserName; this.accountServicePassword = accountServicePassword; this.blobServiceUrl = blobServiceUrl; this.fallBackBlobServiceUrl = fallBackBlobServiceUrl; this.requestTimeout = requestTimeOut; this.Timeout = requestTimeOut; if (!string.IsNullOrEmpty(blobServiceUrl)) { this.Timeout += requestTimeOut; } this.blobHttpQueue.QueueTimeout = TimeSpan.FromMilliseconds(2 * this.requestTimeout); this.fallBackBlobHttpQueue.QueueTimeout = TimeSpan.FromMilliseconds(2 * this.requestTimeout); this.accountServiceHttpQueue.QueueTimeout = TimeSpan.FromMilliseconds(2 * this.requestTimeout); this.healthController = new AccountServiceHealthController(this.blobHttpQueue, this.accountServiceHttpQueue); if (healthMonitor != null) { healthMonitor.AddController(this.healthController); } }