private void SvcStartStop_Click(object sender, EventArgs e) { if (serviceInstance != null && serviceInstance.Status == Status.Running) { serviceInstance.Stop(); } else { this.RefreshSystemConfiguration(); string serverIP = configuration.ContainsKey("ServerIP") ? configuration["ServerIP"] : null; int port = 0; if (configuration.ContainsKey("ServerPort")) { Int32.TryParse(configuration["ServerPort"], out port); } string serviceRoot = configuration.ContainsKey("ServiceRoot") ? configuration["ServiceRoot"] : null; string fileSavedPath = configuration.ContainsKey("FileSavedPath") ? configuration["FileSavedPath"] : null; string cookieName = configuration.ContainsKey("CookieName") ? configuration["CookieName"] : null; int cookieExpiredTime = 3600; if (configuration.ContainsKey("CookieExpiredTime")) { Int32.TryParse(configuration["CookieExpiredTime"], out cookieExpiredTime); } string controllersAssembly = configuration.ContainsKey("ControllersAssembly") ? configuration["ControllersAssembly"] : null; ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings["TQ"]; string conStr = setting != null && setting.ConnectionString != String.Empty ? setting.ConnectionString : null; //请求需要认证并且没有经过认证时的处理代码 string notAuthorized = configuration.ContainsKey("NotAuthorized") ? configuration["NotAuthorized"] : null; //用户自定义配置 Dictionary <string, object> serConfig = new Dictionary <string, object>(); //支持跨多个域 List <string> originHosts = new List <string>(); foreach (KeyValuePair <string, string> config in configuration) { string key = config.Key.ToUpper(); if (key.StartsWith("UDF-")) { serConfig.Add(config.Key.Substring(4), config.Value); } else if (key.StartsWith("ORIGINHOST")) { originHosts.Add(config.Value); } } //创建服务实例 serviceInstance = new SapiService(serverIP, port, rootPath: serviceRoot, originHosts: originHosts, fileServerPath: fileSavedPath, cookieName: cookieName, cookieExpires: cookieExpiredTime, controllersAssembly: controllersAssembly, connectionString: conStr, notAuthorized: notAuthorized, serverConfig: serConfig); //初始化服务 serviceInstance.Initialize(); if (serviceInstance.Status == Status.NotInitialized) { Log.Comment(CommentType.Error, "服务启动失败。"); } else { //开辟新的线程运行服务 serviceThread = new Thread(serviceInstance.Process <UserSession>); serviceThread.Start(); Log.Comment(CommentType.Info, string.Format("服务正在运行。")); } } }
private void SvcStartStop_Click(object sender, EventArgs e) { if (serviceInstance != null && serviceInstance.Status == Status.Running) serviceInstance.Stop(); else { this.RefreshSystemConfiguration(); string serverIP = configuration.ContainsKey("ServerIP") ? configuration["ServerIP"] : null; int port = 0; if (configuration.ContainsKey("ServerPort")) Int32.TryParse(configuration["ServerPort"], out port); string serviceRoot = configuration.ContainsKey("ServiceRoot") ? configuration["ServiceRoot"] : null; string fileSavedPath = configuration.ContainsKey("FileSavedPath") ? configuration["FileSavedPath"] : null; string cookieName = configuration.ContainsKey("CookieName") ? configuration["CookieName"] : null; int cookieExpiredTime = 3600; if (configuration.ContainsKey("CookieExpiredTime")) Int32.TryParse(configuration["CookieExpiredTime"], out cookieExpiredTime); string controllersAssembly = configuration.ContainsKey("ControllersAssembly") ? configuration["ControllersAssembly"] : null; ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings["TQ"]; string conStr = setting != null && setting.ConnectionString != String.Empty ? setting.ConnectionString : null; //请求需要认证并且没有经过认证时的处理代码 string notAuthorized = configuration.ContainsKey("NotAuthorized") ? configuration["NotAuthorized"] : null; //用户自定义配置 Dictionary<string, object> serConfig = new Dictionary<string, object>(); //支持跨多个域 List<string> originHosts = new List<string>(); foreach (KeyValuePair<string, string> config in configuration) { string key = config.Key.ToUpper(); if (key.StartsWith("UDF-")) serConfig.Add(config.Key.Substring(4), config.Value); else if (key.StartsWith("ORIGINHOST")) originHosts.Add(config.Value); } //创建服务实例 serviceInstance = new SapiService(serverIP, port, rootPath: serviceRoot, originHosts: originHosts, fileServerPath: fileSavedPath, cookieName: cookieName, cookieExpires: cookieExpiredTime, controllersAssembly: controllersAssembly, connectionString: conStr, notAuthorized: notAuthorized, serverConfig: serConfig); //初始化服务 serviceInstance.Initialize(); if (serviceInstance.Status == Status.NotInitialized) { Log.Comment(CommentType.Error, "服务启动失败。"); } else { //开辟新的线程运行服务 serviceThread = new Thread(serviceInstance.Process<UserSession>); serviceThread.Start(); Log.Comment(CommentType.Info, string.Format("服务正在运行。")); } } }