public static ApplicationInstance GetApplicationInstance(string tenantName, string applicationName) { LbGetRoutingMeshRequest request = new LbGetRoutingMeshRequest(Settings.Credentials); request.ApplicationName = Decode(applicationName); request.TenantName = Decode(tenantName); LbGetRoutingMeshResponse response = EndPoints.LoadBalancerWebService.GetRoutingMesh(request); if ((response != null) && (response.ApplicationsInstances != null) && (response.ApplicationsInstances.Count > 0)) { return FindNextAvailableInstance(response.ApplicationsInstances); } return null; }
public LbGetRoutingMeshResponse GetRoutingMesh(LbGetRoutingMeshRequest request) { try { Log.Debug(this, "GetRoutingMesh()"); Authenticate(request); LbGetRoutingMeshResponse response = new LbGetRoutingMeshResponse(); if ((!string.IsNullOrEmpty(request.ApplicationName)) && (!string.IsNullOrEmpty(request.TenantName))) { response.ApplicationsInstances = Database.GetInstance().RoutingMesh.FindAll(x => (x.ApplicationName.ToLower().Equals(request.ApplicationName.ToLower())) && (x.Tenant.Name.ToLower().Equals(request.TenantName.ToLower()))); } return response; } catch (Exception e) { Log.Error(this, e); throw e; } }