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()); }
/// <summary> /// Method to auto start the application Server. /// </summary> public void AutoStartServer() { // Get default server in preferences. log.Info("Auto start HTTP server connection. Please wait..."); ServerData server = InitializeServer(); // Try to start server. try { if (server != null) { if (!server.AutoStart) { log.Debug("Auto start HTTP server connection. Aborted !"); log.Info("Auto start HTTP server connection. Done !"); return; } HttpServerBase.AddNetworkAcl(); HttpServerBase.Start(); log.Info("Server started : [" + server.Host + ":" + server.Port + "]"); } else { log.Error("Server preferences not found !"); } } // Catch server start exception. catch (Exception e) { log.Error("Auto start HTTP server connection failed : [" + server?.Host + ":" + server?.Port + "]", e); MessageBox.Show("Starting server : [" + server?.Host + ":" + server?.Port + "] failed !", Local.Properties.Translations.ApplicationName, MessageBoxButton.OK, MessageBoxImage.Error); } log.Info("Auto start HTTP server connection. Done !"); }
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); }
/// <summary> /// Method called on server stop click. /// </summary> /// <param name="sender">The sender of the event.</param> /// <param name="e">The routed event arguments.</param> private void OnServerStop_Click(object sender, RoutedEventArgs e) { HttpServerBase.Stop(); }
/// <summary> /// Method called on server start click. /// </summary> /// <param name="sender">The <see cref="object"/> sender of the event.</param> /// <param name="e">The routed event arguments <see cref="RoutedEventArgs"/>.</param> private void ServerStart_Click(object sender, RoutedEventArgs e) { HttpServerBase.Start(); }
/// <summary> /// Method called on remove server from firwall click. /// </summary> /// <param name="sender">The <see cref="object"/> sender of the event.</param> /// <param name="e">The routed event arguments <see cref="RoutedEventArgs"/>.</param> private void OnServerRemoveFromFirewall_Click(object sender, RoutedEventArgs e) => HttpServerBase.RemoveNetworkAcl();
/// <summary> /// Method called on add server to firewall click. /// </summary> /// <param name="sender">The <see cref="object"/> sender of the event.</param> /// <param name="e">The routed event arguments <see cref="RoutedEventArgs"/>.</param> private void OnServerAddToFirewall_Click(object sender, RoutedEventArgs e) => HttpServerBase.AddNetworkAcl();