static int Main(string[] args) { m_Server = new HttpServerBase("User", args); m_UserServiceConnector = new UserServiceConnector(m_Server.Config, m_Server.HttpServer); return(m_Server.Run()); }
public static int Main(string[] args) { m_Server = new HttpServerBase("R.O.B.U.S.T.", args); IConfig serverConfig = m_Server.Config.Configs["Startup"]; if (serverConfig == null) { System.Console.WriteLine("Startup config section missing in .ini file"); throw new Exception("Configuration error"); } string connList = serverConfig.GetString("ServiceConnectors", String.Empty); string[] conns = connList.Split(new char[] { ',', ' ' }); // int i = 0; foreach (string c in conns) { if (c == String.Empty) { continue; } string configName = String.Empty; string conn = c; uint port = 0; string[] split1 = conn.Split(new char[] { '/' }); if (split1.Length > 1) { conn = split1[1]; string[] split2 = split1[0].Split(new char[] { '@' }); if (split2.Length > 1) { configName = split2[0]; port = Convert.ToUInt32(split2[1]); } else { port = Convert.ToUInt32(split1[0]); } } string[] parts = conn.Split(new char[] { ':' }); string friendlyName = parts[0]; if (parts.Length > 1) { friendlyName = parts[1]; } IHttpServer server = m_Server.HttpServer; if (port != 0) { server = m_Server.GetHttpServer(port); } if (port != m_Server.DefaultPort && port != 0) { m_log.InfoFormat("[SERVER]: Loading {0} on port {1}", friendlyName, port); } else { m_log.InfoFormat("[SERVER]: Loading {0}", friendlyName); } IServiceConnector connector = null; Object[] modargs = new Object[] { m_Server.Config, server, configName }; connector = ServerUtils.LoadPlugin <IServiceConnector>(conn, modargs); if (connector == null) { modargs = new Object[] { m_Server.Config, server }; connector = ServerUtils.LoadPlugin <IServiceConnector>(conn, modargs); } if (connector != null) { m_ServiceConnectors.Add(connector); m_log.InfoFormat("[SERVER]: {0} loaded successfully", friendlyName); } else { m_log.InfoFormat("[SERVER]: Failed to load {0}", conn); } } int res = m_Server.Run(); Environment.Exit(res); return(0); }
public static int Main(string[] args) { Culture.SetCurrentCulture(); Culture.SetDefaultCurrentCulture(); ServicePointManager.DefaultConnectionLimit = 64; ServicePointManager.Expect100Continue = false; ServicePointManager.UseNagleAlgorithm = false; ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate; m_Server = new HttpServerBase("R.O.B.U.S.T.", args); string registryLocation; IConfig serverConfig = m_Server.Config.Configs["Startup"]; if (serverConfig == null) { System.Console.WriteLine("Startup config section missing in .ini file"); throw new Exception("Configuration error"); } int dnsTimeout = serverConfig.GetInt("DnsTimeout", 30000); try { ServicePointManager.DnsRefreshTimeout = dnsTimeout; } catch { } m_NoVerifyCertChain = serverConfig.GetBoolean("NoVerifyCertChain", m_NoVerifyCertChain); m_NoVerifyCertHostname = serverConfig.GetBoolean("NoVerifyCertHostname", m_NoVerifyCertHostname); string connList = serverConfig.GetString("ServiceConnectors", String.Empty); registryLocation = serverConfig.GetString("RegistryLocation", "."); IConfig servicesConfig = m_Server.Config.Configs["ServiceList"]; if (servicesConfig != null) { List <string> servicesList = new List <string>(); if (connList != String.Empty) { servicesList.Add(connList); } foreach (string k in servicesConfig.GetKeys()) { string v = servicesConfig.GetString(k); if (v != String.Empty) { servicesList.Add(v); } } connList = String.Join(",", servicesList.ToArray()); } string[] conns = connList.Split(new char[] { ',', ' ', '\n', '\r', '\t' }); // int i = 0; foreach (string c in conns) { if (c == String.Empty) { continue; } string configName = String.Empty; string conn = c; uint port = 0; string[] split1 = conn.Split(new char[] { '/' }); if (split1.Length > 1) { conn = split1[1]; string[] split2 = split1[0].Split(new char[] { '@' }); if (split2.Length > 1) { configName = split2[0]; port = Convert.ToUInt32(split2[1]); } else { port = Convert.ToUInt32(split1[0]); } } string[] parts = conn.Split(new char[] { ':' }); string friendlyName = parts[0]; if (parts.Length > 1) { friendlyName = parts[1]; } IHttpServer server; if (port != 0) { server = MainServer.GetHttpServer(port); } else { server = MainServer.Instance; } m_log.InfoFormat("[SERVER]: Loading {0} on port {1}", friendlyName, server.Port); IServiceConnector connector = null; Object[] modargs = new Object[] { m_Server.Config, server, configName }; connector = ServerUtils.LoadPlugin <IServiceConnector>(conn, modargs); if (connector == null) { modargs = new Object[] { m_Server.Config, server }; connector = ServerUtils.LoadPlugin <IServiceConnector>(conn, modargs); } if (connector != null) { m_ServiceConnectors.Add(connector); m_log.InfoFormat("[SERVER]: {0} loaded successfully", friendlyName); } else { m_log.ErrorFormat("[SERVER]: Failed to load {0}", conn); } } loader = new PluginLoader(m_Server.Config, registryLocation); int res = m_Server.Run(); if (m_Server != null) { m_Server.Shutdown(); } Util.StopThreadPool(); Environment.Exit(res); return(0); }
public static int Main(string[] args) { // Make sure we don't get outbound connections queueing ServicePointManager.DefaultConnectionLimit = 50; ServicePointManager.UseNagleAlgorithm = false; m_Server = new HttpServerBase("R.O.B.U.S.T.", args); string registryLocation; IConfig serverConfig = m_Server.Config.Configs["Startup"]; if (serverConfig == null) { System.Console.WriteLine("Startup config section missing in .ini file"); throw new Exception("Configuration error"); } string connList = serverConfig.GetString("ServiceConnectors", String.Empty); registryLocation = serverConfig.GetString("RegistryLocation", "."); IConfig servicesConfig = m_Server.Config.Configs["ServiceList"]; if (servicesConfig != null) { List <string> servicesList = new List <string>(); if (connList != String.Empty) { servicesList.Add(connList); } foreach (string k in servicesConfig.GetKeys()) { string v = servicesConfig.GetString(k); if (v != String.Empty) { servicesList.Add(v); } } connList = String.Join(",", servicesList.ToArray()); } string[] conns = connList.Split(new char[] { ',', ' ', '\n', '\r', '\t' }); // int i = 0; foreach (string c in conns) { if (c == String.Empty) { continue; } string configName = String.Empty; string conn = c; uint port = 0; string[] split1 = conn.Split(new char[] { '/' }); if (split1.Length > 1) { conn = split1[1]; string[] split2 = split1[0].Split(new char[] { '@' }); if (split2.Length > 1) { configName = split2[0]; port = Convert.ToUInt32(split2[1]); } else { port = Convert.ToUInt32(split1[0]); } } string[] parts = conn.Split(new char[] { ':' }); string friendlyName = parts[0]; if (parts.Length > 1) { friendlyName = parts[1]; } IHttpServer server; if (port != 0) { server = MainServer.GetHttpServer(port); } else { server = MainServer.Instance; } m_log.InfoFormat("[SERVER]: Loading {0} on port {1}", friendlyName, server.Port); IServiceConnector connector = null; Object[] modargs = new Object[] { m_Server.Config, server, configName }; connector = ServerUtils.LoadPlugin <IServiceConnector>(conn, modargs); if (connector == null) { modargs = new Object[] { m_Server.Config, server }; connector = ServerUtils.LoadPlugin <IServiceConnector>(conn, modargs); } if (connector != null) { m_ServiceConnectors.Add(connector); m_log.InfoFormat("[SERVER]: {0} loaded successfully", friendlyName); } else { m_log.ErrorFormat("[SERVER]: Failed to load {0}", conn); } } loader = new PluginLoader(m_Server.Config, registryLocation); int res = m_Server.Run(); Environment.Exit(res); return(0); }