Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
        /// <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));
        }