Exemplo n.º 1
0
        protected Srun4KManager()
        {
            // 尝试释放 Newtonsoft.Json.dll
            Utils.ReleaseFile(
                HardCode.RESOURCES_PATH, HardCode.JSONNET_NAME,
                HardCode.RELEASE_PATH, HardCode.JSONNET_NAME);

            //Utils.ReleaseFile(
            //    HardCode.RESOURCES_PATH, HardCode.JSONNET_NAME,
            //    HardCode.SYSTEM32_PATH, HardCode.JSONNET_NAME);

            BasicReturnInfo initResult = LoadConfig();

            if (!initResult)
            {
                // 加载 配置信息 失败

                MessageBox.Show("错误码: 0x" + initResult.Code.ToString("x").PadLeft(8, '0'));
            }

            ConfigIsChange = false;
        }
Exemplo n.º 2
0
        /// <summary>
        /// 重新加载配置文件并刷新配置信息
        /// </summary>
        /// <returns></returns>
        public BasicReturnInfo RefreshConfig()
        {
            // 保存当前配置信息
            Config temp = ConfigInfo;

            BasicReturnInfo reloadResult = LoadConfig();

            if (reloadResult)
            {
                // 加载 成功
                return(BasicReturnInfo.OK());
            }
            else
            {
                // 加载 失败

                // 写回 配置
                ConfigInfo = temp;

                // ErrorDetial: 0x0010010: "重新加载配置失败"
                return(BasicReturnInfo.Create(false, 0x0010010 | reloadResult.Code));
            }
        }
Exemplo n.º 3
0
        public static BasicReturnInfo ForceLogout(string url, string username, string password)
        {
            string payload = CreateForceLogoutPayload(username, password);

            byte[] payload_bytes = Encoding.Default.GetBytes(payload);

            HttpWebResponse response = null;

            try
            {
                response = Srun4KPostMethod(url, payload_bytes);
            }
            catch (Exception e)
            {
                return(BasicReturnInfo.Create(false, 0x0020001, e.ToString()));
            }

            if (response.StatusCode == HttpStatusCode.OK)
            {
                // http 没问题
                string text = new StreamReader(response.GetResponseStream()).ReadToEnd();
                if (text.IndexOf("logout_ok") != -1)
                {
                    return(BasicReturnInfo.Create());
                }
                else
                {
                    return(BasicReturnInfo.Create(false, 0x0020002, text));
                }
            }
            else
            {
                // http 有问题
                return(BasicReturnInfo.Create(false, 0x0020003, response.StatusCode.ToString()));
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 加载配置信息
        /// </summary>
        /// <returns></returns>
        private BasicReturnInfo LoadConfig()
        {
            // 检查文件是否存在
            if (!File.Exists(HardCode.CONFIGFILE_PATH + Path.AltDirectorySeparatorChar + HardCode.CONFIGFILE_NAME))
            {
                // 不存在 则 直接使用缺省配置
                ConfigInfo = new Config();

                // 写入文件
                BasicReturnInfo writeFileResult = SaveConfig();

                // ErrorDetial: 0x0010002, "配置文件不存在"
                // ErrorDetail: 0x0010003, "配置文件不存在" + "保存配置文件出错"
                return(BasicReturnInfo.Create(false, 0x0010002 | writeFileResult.Code));
            }
            else
            {
                // 配置文件 存在

                // 读取配置文件
                CreationReturnInfo readFileResult = Utils.ReadFile(
                    HardCode.CONFIGFILE_PATH + Path.AltDirectorySeparatorChar + HardCode.CONFIGFILE_NAME);

                if (!readFileResult)
                {
                    // 读取失败

                    // 使用缺省配置
                    ConfigInfo = new Config();

                    // ErrorDetail: 0x0010004, "读取配置文件失败"
                    return(BasicReturnInfo.Create(false, 0x0010004));
                }
                else
                {
                    // 读取 成功

                    // 解析 配置
                    CreationReturnInfo createConfigResult = Config.CreateFromJson(readFileResult.Instance as string);

                    if (!createConfigResult)
                    {
                        // 解析 失败

                        // 使用缺省配置
                        ConfigInfo = new Config();

                        // ErrorDetial: 0x0010008: "解析配置失败"
                        return(BasicReturnInfo.Create(false, 0x0010008));
                    }
                    else
                    {
                        // 解析 成功

                        ConfigInfo = createConfigResult.Instance as Config;

                        return(BasicReturnInfo.OK());
                    }
                }
            }
        }
Exemplo n.º 5
0
 public static BasicReturnInfo CopyStatus(BasicReturnInfo info)
 {
     return(new BasicReturnInfo(info.Success, info.Code, info.Info));
 }