public async Task <string> Locate(string routePath, string key) { var route = await _serviceRouteProvider.SearchRoute(routePath); AddressModel result = new IpAddressModel(); if (route != null) { result = await _addressSelector.SelectAsync(new AddressSelectContext() { Address = route.Address, Descriptor = route.ServiceDescriptor, HashCode = _hashAlgorithm.Hash(key) }); } return(result.ToString()); }
public async Task <IpAddressModel> Locate(string routePath, string key) { var route = await _serviceRouteProvider.SearchRoute(routePath); AddressModel result = new IpAddressModel(); if (route != null) { result = await _addressSelector.SelectAsync(new AddressSelectContext() { Address = route.Address, Descriptor = route.ServiceDescriptor, Item = key, }); } var ipAddress = result as IpAddressModel; return(ipAddress); }
public async Task <IpAddressModel> Locate(string key, string routePath, HttpMethod httpMethod) { var route = await _serviceRouteProvider.SearchRoute(routePath, httpMethod.ToString()); AddressModel result = new IpAddressModel(); if (route != null) { result = await _addressSelector.SelectAsync(new AddressSelectContext() { Address = route.Address, Descriptor = route.ServiceDescriptor, Item = key, }); _serviceHeartbeatManager.AddWhitelist(route.ServiceDescriptor.Id); } var ipAddress = result as IpAddressModel; return(ipAddress); }