private void CreateServers() { var servers = EngineConfig.GetValue("Servers", StringComparison.CurrentCultureIgnoreCase)?.Value <JArray>(); if (servers == null) { return; } foreach (var jToken in servers) { var server = (JObject)jToken; var hosts = GetValues <string>(server, "Hosts"); var domains = GetValues <string>(server, "Domains"); var root = IoUtils.ReplacePathTags(GetValue <string>(server, "Root")); if (!Directory.Exists(root)) { Directory.CreateDirectory(root); } var useSsl = GetValue <bool>(server, "SSL"); string certificate = null; string password = null; if (useSsl) { certificate = IoUtils.ReplacePathTags(GetValue <string>(server, "Certificate")); password = GetValue <string>(server, "Password"); } var locationManager = ContainsKey(server, "Locations") ? new HttpLocationManager(GetValue <JToken>(server, "Default"), GetValue <JObject>(server, "Locations")) : new HttpLocationManager(GetValue <JToken>(server, "Default"), null); var errorMessagesManager = new ErrorMessagesManager(); if (ContainsKey(server, "ErrorPages")) { foreach (var(key, value) in GetValue <JObject>(server, "ErrorPages")) { if (int.TryParse(key, out var pageStatusCode)) { errorMessagesManager.RegisterOverridePage(new FilePageMessage(value.Value <string>(), pageStatusCode)); } } } var serverInfo = new HttpServerInfo(hosts.AsReadOnly(), domains, root, useSsl, certificate, password, locationManager, errorMessagesManager); ServersInfo.Add(serverInfo); foreach (var domain in domains) { // ! ISSUE ! Need future fix, for decoding the domain between ports if (DomainServers.ContainsKey(domain)) { continue; } DomainServers.Add(domain, serverInfo); } } }
/// <summary> /// 提示消息 /// </summary> /// <param name="messagelist"> </param> /// <param name="redirectto"> </param> /// <param name="to_title"> </param> /// <param name="time"> </param> /// <param name="return_msg"> </param> /// <returns> </returns> protected ActionResult Message(List <string> messagelist, string redirectto = "", string to_title = "跳转", int time = 3, string return_msg = "") { if (redirectto == "") { redirectto = HttpServerInfo.GetUrlReferrer(); } var model = new Messager { MessageList = messagelist, redirectto = redirectto, to_title = to_title, time = time, return_msg = return_msg }; return(View("_Messager", model)); }