Esempio n. 1
0
 public static Dictionary <string, ServiceDiscovery.Resolved> Parse(Configuration.Config config)
 {
     return(config.AsEnumerable()
            .Select(pair => (pair.Key, config.GetConfig(pair.Key)))
            .ToDictionary(pair => pair.Key, pair =>
     {
         var(serviceName, full) = pair;
         var endpoints = full.GetStringList("endpoints");
         var resolvedTargets = endpoints.Select(e =>
         {
             var values = e.Split(':');
             return new ServiceDiscovery.ResolvedTarget(values[0], int.TryParse(values.Skip(1).FirstOrDefault(), out var i) ? i : default(int?));
         }).ToArray();
         return new ServiceDiscovery.Resolved(serviceName, resolvedTargets);
     }));