public static List <ReverseProxy> LoadFromConfig() { var config = (ReverseProxiesConfig)ConfigurationManager.GetSection("ReverseProxiesConfig"); var proxies = new List <ReverseProxy>(); foreach (ReverseProxyConfig proxyConfig in config.Proxies) { var proxy = new ReverseProxy(); proxy.AddForwarder(proxyConfig.HostPort, GetEndpoints(proxyConfig.ForwardTo)); proxies.Add(proxy); } return(proxies); }
private static void Main(string[] args) { List <ReverseProxy> proxies = ReverseProxy.LoadFromConfig(); foreach (var proxy in proxies) { foreach (PortForwarder forwarder in proxy.Forwarders) { Console.WriteLine("From {0}", forwarder.Map.FromPort); Console.WriteLine("To"); foreach (var map in forwarder.Map.Endpoints) { Console.WriteLine(" {0}:{1}", map.Address, map.Port); } } Console.WriteLine(); } Console.WriteLine("Press any key to exit"); Console.ReadLine(); }