public static int TaskSubmit(WebRequestSession session, String taskType, String taskName, Dictionary <String, String> files2Post)
        {
            string url = "/caxa/task_submit";

            try
            {
                NameValueCollection valuePairs = new NameValueCollection();
                valuePairs.Add("task_type", taskType);
                valuePairs.Add("task_name", taskName);

                NameValueCollection files = new NameValueCollection();
                foreach (KeyValuePair <String, String> filePath in files2Post)
                {
                    files.Add(filePath.Key, filePath.Value); //path, file_id
                }
                string  response = RemoteCall.PostMultipartRequest(session, url, valuePairs, files);
                JObject jResult  = JObject.Parse(response);
                if ((int)jResult["result_code"] > 0)
                {
                    if (!String.IsNullOrEmpty("" + jResult["task_id"]))
                    {
                        int taskId = Convert.ToInt32(jResult["task_id"]);
                        return(taskId);
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            return(-1);
        }
        public static int TaskProgress(WebRequestSession session, String taskID, StringBuilder taskError)
        {
            string url = "/caxa/task_progress";

            try
            {
                Boolean bSSL = session.ssl;
                String  host = session.host;
                int     port = session.port;

                String urlReq = String.Format("{0}?taskid={1}", url, taskID);

                int    nProgress  = -1;
                String taskStatus = "";

                StringBuilder errMessage = new StringBuilder();
                String        txtResult  = RemoteCall.RESTGetAsString(bSSL, host, port, urlReq, errMessage);
                if (txtResult != null)
                {
                    JObject jResult = JObject.Parse(txtResult);

                    if ((int)jResult["result_code"] > 0)
                    {
                        if (!String.IsNullOrEmpty("" + jResult["task_id"]))
                        {
                            if (!String.IsNullOrEmpty("" + jResult["task_progress"]))
                            {
                                nProgress = Convert.ToInt32(jResult["task_progress"]);
                            }
                            if (!String.IsNullOrEmpty("" + jResult["task_status"]))
                            {
                                taskStatus = Convert.ToString(jResult["task_status"]);
                                if (taskError != null)
                                {
                                    taskError.Append(taskStatus);
                                }
                            }
                        }
                    }
                    else
                    {
                        if (errMessage.Length > 0)
                        {
                            if (taskError != null)
                            {
                                taskError.Append(errMessage);
                            }
                        }
                    }
                }
                return(nProgress);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            return(-1);
        }
        private void btnLogin_Click(object sender, EventArgs e)
        {
            WebRequestSession Session = new WebRequestSession();

            if (Session.Login(true, "192.168.7.104", 443, "admin", "admin", String.Empty, "此处放机器ID"))
            {
                _reqSession = Session;
                MessageBox.Show("登陆成功");
            }
        }
Exemple #4
0
        private void Login_Load(object sender, EventArgs e)
        {
            XmlConfig.getInstance().LoadConfig("ServerInfo.xml");

            this.checkBoxSSL.Checked  = (Convert.ToInt32(XmlConfig.getInstance().GetParam("server", "ssl", "1")) > 0);
            this.textBoxServerIP.Text = XmlConfig.getInstance().GetParam("server", "host", "localhost"); // "localhost";
            this.textBoxPort.Text     = XmlConfig.getInstance().GetParam("server", "port", "9443");      //"9443";
            this.textBoxUser.Text     = XmlConfig.getInstance().GetParam("server", "user", "admin");     //"admin";
            this.textBoxPass.Text     = XmlConfig.getInstance().GetParam("server", "pass", "");          //"";

            _reqSession = new WebRequestSession();
        }
        public void DownloadJobData(WebRequestSession req)
        {
            StringBuilder errMessage = new StringBuilder();
            String        file       = RemoteCall.RESTGetAsFile(req.ssl, req.host, req.port, req.url, errMessage, req.cts);

            if (!String.IsNullOrEmpty(file) && File.Exists(file))
            {
                File.Delete(file);

                try { Thread.Sleep(req.delay); }
                catch (Exception e) { }

                Interlocked.Increment(ref FinishedFiles);
            }
        }
        public static int TaskCancel(WebRequestSession session, String taskID, StringBuilder taskError)
        {
            string url = "/caxa/task_cancel";

            try
            {
                Boolean bSSL = session.ssl;
                String  host = session.host;
                int     port = session.port;

                JObject obj2Post = new JObject();
                obj2Post["taskid"] = taskID;

                StringBuilder errMessage = new StringBuilder();
                string        txtResult  = RemoteCall.PostJObject(session, url, obj2Post);
                if (txtResult != null)
                {
                    JObject jResult = JObject.Parse(txtResult);

                    if ((int)jResult["result_code"] > 0)
                    {
                        if (jResult["message"] != null)
                        {
                            if (taskError != null)
                            {
                                taskError.Append(txtResult);
                            }
                        }
                        return(1);
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                if (taskError != null)
                {
                    taskError.Append(e.Message);
                }
            }
            return(-1);
        }
        private void timerUIupdate_Tick(object sender, EventArgs e)
        {
            DateTime dt = DateTime.Now;

            lbl_TimeNow.Text = $"当前时间:{dt.ToString("F")}";

            int s = DateTime.Now.Second;

            if (s % 2 == 0)
            {
                lbl_Flicker.ForeColor = Color.Red;
            }
            else
            {
                lbl_Flicker.ForeColor = Color.Green;
            }
            if (!_reqSession.IsSigned())
            {
                this.timerUIupdate.Enabled = false;

                UpdateUI(false);

                FrmLogin frm = new FrmLogin();
                frm.lblCapation.Text = "服务器连接超时,请重新登录!";
                frm.ShowDialog();

                if (frm.DialogResult == DialogResult.OK)
                {
                    _reqSession           = frm.Session;
                    timerUIupdate.Enabled = true;
                }
                else
                {
                    this.Close();
                }
            }
            else
            {
                UpdateUI(true);
            }
        }
        public String Upload([In, MarshalAs(UnmanagedType.BStr)] string srvRelLibFolder,
                             [In, MarshalAs(UnmanagedType.BStr)] string clnFullPath,
                             [In, MarshalAs(UnmanagedType.BStr)] string srvProcessor)
        { //upload.exe /ServerRelPath:"drawLibs"  /LocalFullPath:“C:\SmartHomeDesign_x64\2.0\drawLibs\Config.ini” /ServerProcessor:“Raw Copy”
            String errMsg = "";

            String[] args = new String[3];
            args[0] = srvRelLibFolder;
            args[1] = clnFullPath;
            args[2] = srvProcessor;

            Dictionary <String, String> arguments   = WebUtil.getArguments(args);
            WebRequestSession           _reqSession = new WebRequestSession();

            XmlConfig.getInstance().LoadConfig("ServerInfo.xml");

            Boolean ssl             = (Convert.ToInt32(XmlConfig.getInstance().GetParam("server", "ssl", "1")) > 0);
            String  textBoxServerIP = XmlConfig.getInstance().GetParam("server", "host", "localhost"); // "localhost";
            String  textBoxPort     = XmlConfig.getInstance().GetParam("server", "port", "9443");      //"9443";
            String  textBoxUser     = XmlConfig.getInstance().GetParam("server", "user", "admin");     //"admin";
            String  textBoxPass     = XmlConfig.getInstance().GetParam("server", "pass", "");          //"";

            if (!_reqSession.Login(ssl, textBoxServerIP, Convert.ToInt32(textBoxPort), textBoxUser, textBoxPass, String.Empty, "此处放机器ID"))
            {
                Login login = new Login();
                if (login.ShowDialog() == DialogResult.OK)
                {
                    ssl             = (Convert.ToInt32(XmlConfig.getInstance().GetParam("server", "ssl", "1")) > 0);
                    textBoxServerIP = XmlConfig.getInstance().GetParam("server", "host", "localhost"); // "localhost";
                    textBoxPort     = XmlConfig.getInstance().GetParam("server", "port", "9443");      //"9443";
                    textBoxUser     = XmlConfig.getInstance().GetParam("server", "user", "admin");     //"admin";
                    textBoxPass     = XmlConfig.getInstance().GetParam("server", "pass", "");          //"";

                    if (!_reqSession.Login(ssl, textBoxServerIP, Convert.ToInt32(textBoxPort), textBoxUser, textBoxPass, String.Empty, "此处放机器ID"))
                    {
                        errMsg = "客户端登录失败";
                        //MessageBox.Show("客户端登录失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                        return(errMsg);
                    }
                }
                else
                {
                    errMsg = "客户端登录失败";
                    //MessageBox.Show("客户端登录失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    return(errMsg);
                }
            }

            String IsFolder        = "1";
            String ServerRelPath   = "";
            String LocalFullPath   = "";
            String ServerProcessor = "";

            if (arguments.ContainsKey("ServerRelPath".ToLower()))
            {
                ServerRelPath = arguments["ServerRelPath".ToLower()].Trim();
            }
            if (arguments.ContainsKey("LocalFullPath".ToLower()))
            {
                LocalFullPath = arguments["LocalFullPath".ToLower()].Trim();
            }
            if (arguments.ContainsKey("ServerProcessor".ToLower()))
            {
                ServerProcessor = arguments["ServerProcessor".ToLower()].Trim();
            }
            if (arguments.ContainsKey("IsFolder".ToLower()))
            {
                IsFolder = arguments["IsFolder".ToLower()].Trim();
            }

            if (!String.IsNullOrEmpty(LocalFullPath) && File.Exists(LocalFullPath))
            { //file
                IsFolder = "0";
            }
            else if (!Directory.Exists(LocalFullPath))
            { //directory
                _reqSession.Logout();

                errMsg = "本地路径无效";
                //MessageBox.Show("本地路径无效", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                return(errMsg);
            }

            StringBuilder filePath = new StringBuilder();
            Boolean       result   = RemoteCall.UploadFiles(_reqSession, IsFolder, ServerRelPath, LocalFullPath, ServerProcessor, null);

            _reqSession.Logout();

            if (result)
            {
                //MessageBox.Show("上载成功", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                return("");
            }

            errMsg = "上载失败";
            //MessageBox.Show("上载失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
            return(errMsg);
        }
        private void buttonStressTest_Click(object sender, EventArgs e)
        {
            if (_StressTester == null)
            {
                if (!_reqSession.IsSigned())
                {
                    MessageBox.Show("客户端尚未登录", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    return;
                }

                _StressTester = new ThreadScheduler <WebRequestSession>();

                WebRequestSession req = null;

                req       = _reqSession.Clone();
                req.delay = Convert.ToInt32(this.textBoxThreadDelay.Text);
                req.url   = "/caxa/get_task_list";
                _StressTester.EnqueueTask(req);

                req       = _reqSession.Clone();
                req.delay = Convert.ToInt32(this.textBoxThreadDelay.Text);
                req.url   = "/caxa/get_task?task_id=0Hck3KI5kEmJWh";
                _StressTester.EnqueueTask(req);

                req       = _reqSession.Clone();
                req.delay = Convert.ToInt32(this.textBoxThreadDelay.Text);
                req.url   = "/caxa/get_object_data?proc_id=4CE089D6-9FB9-40AF-A27A-33948FC5FC3C&object_id=02ck3KICw6x5Tb&flag=front";//E09E68C9-EEDA-4966-AA4D-DCCCE465074B&object_id=0Hck3KI5kEmJWh&flag=";
                _StressTester.EnqueueTask(req);

                req       = _reqSession.Clone();
                req.delay = Convert.ToInt32(this.textBoxThreadDelay.Text);
                req.url   = "/caxa/get_settings";
                _StressTester.EnqueueTask(req);

                req       = _reqSession.Clone();
                req.delay = Convert.ToInt32(this.textBoxThreadDelay.Text);
                req.url   = "/caxa/get_picture?task_id=0Hck3KI5kEmJWh";
                _StressTester.EnqueueTask(req);

                _StressTester._Processor = DownloadJobData;
                _StressTester.SetMode(ThreadScheduler <WebRequestSession> .MODE_REPEAT);

                int nThreads = 2;
                try{ nThreads = Convert.ToInt32(this.textBoxThreads.Text); }
                catch (Exception em) { }

                AppendLog("Threads: " + nThreads.ToString());
                _StressTester.Start(nThreads);

                tStressStarted             = DateTime.Now;
                this.buttonStressTest.Text = "停 止";

                _Running = true;
            }
            else
            {
                if (_reqSession.cts != null)
                {
                    _reqSession.cts.Cancel();
                }

                _StressTester.Stop();

                _StressTester = null;
                this.buttonStressTest.Text = "多线程并发测试";

                _Running = false;
            }
        }
        public RequestTask()
        {
            InitializeComponent();

            _reqSession = new WebRequestSession();
        }
 public OrderDAL(WebRequestSession session)
 {
     _reqSession = session;
 }
        public static int TaskResult(WebRequestSession session, String taskID, StringBuilder taskError)
        {
            string relUrl = "/caxa/task_result?taskid=" + taskID;

            String msg = "";

            try
            {
                Boolean bSSL = session.ssl;
                String  host = session.host;
                int     port = session.port;

                String url = relUrl.Replace("\\", "/");

                StringBuilder errMessage = new StringBuilder();
                String        file       = RemoteCall.RESTGetAsFile(bSSL, host, port, url, errMessage);
                if (!String.IsNullOrEmpty(file) && File.Exists(file))
                {
                    //if (file.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
                    {
                        string LocalFullPath = Util.Util.GetTempFileName("");

                        String extractTo = LocalFullPath.Replace("/", "\\");
                        if (!extractTo.EndsWith("\\"))
                        {
                            extractTo += "\\";
                        }


                        if (!Directory.Exists(extractTo))
                        {
                            Directory.CreateDirectory(extractTo);
                        }
                        GZip.UnZip(file, extractTo);

                        if (taskError != null)
                        {
                            taskError.Append(extractTo);
                        }

                        try
                        {
                            File.Delete(file);
                        }
                        catch (Exception e)
                        {
                            Debug.WriteLine(e.Message);
                        }

                        return(+1);
                    }
                }
                else
                {
                    msg = errMessage.ToString();
                }
            }
            catch (Exception e)
            {
                msg = e.Message;
            }

            if (taskError != null)
            {
                taskError.Append(msg);
            }

            return(-1);
        }
Exemple #13
0
 public FrmLogin()
 {
     Session = new WebRequestSession();
     InitializeComponent();
 }
 public FrmMain(WebRequestSession session) : this()
 {
     _reqSession = session;
 }
        static void Main(string[] args)
        { //upload.exe /ServerRelPath:"drawLibs"  /LocalFullPath:“C:\SmartHomeDesign_x64\2.0\drawLibs\Config.ini” /ServerProcessor:“Raw Copy”
            Dictionary <String, String> arguments = WebUtil.getArguments(args);

            _reqSession = new WebRequestSession();
            XmlConfig.getInstance().LoadConfig("ServerInfo.xml");

            Boolean ssl             = (Convert.ToInt32(XmlConfig.getInstance().GetParam("server", "ssl", "1")) > 0);
            String  textBoxServerIP = XmlConfig.getInstance().GetParam("server", "host", "localhost"); // "localhost";
            String  textBoxPort     = XmlConfig.getInstance().GetParam("server", "port", "9443");      //"9443";
            String  textBoxUser     = XmlConfig.getInstance().GetParam("server", "user", "admin");     //"admin";
            String  textBoxPass     = XmlConfig.getInstance().GetParam("server", "pass", "");          //"";

            if (!_reqSession.Login(ssl, textBoxServerIP, Convert.ToInt32(textBoxPort), textBoxUser, textBoxPass, String.Empty, "此处放机器ID"))
            {
                Login login = new Login();
                if (login.ShowDialog() == DialogResult.OK)
                {
                    ssl             = (Convert.ToInt32(XmlConfig.getInstance().GetParam("server", "ssl", "1")) > 0);
                    textBoxServerIP = XmlConfig.getInstance().GetParam("server", "host", "localhost"); // "localhost";
                    textBoxPort     = XmlConfig.getInstance().GetParam("server", "port", "9443");      //"9443";
                    textBoxUser     = XmlConfig.getInstance().GetParam("server", "user", "admin");     //"admin";
                    textBoxPass     = XmlConfig.getInstance().GetParam("server", "pass", "");          //"";

                    if (!_reqSession.Login(ssl, textBoxServerIP, Convert.ToInt32(textBoxPort), textBoxUser, textBoxPass, String.Empty, "此处放机器ID"))
                    {
                        MessageBox.Show("客户端登录失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("客户端登录失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    return;
                }
            }

            String IsFolder        = "1";
            String ServerRelPath   = "";
            String LocalFullPath   = "";
            String ServerProcessor = "";

            if (arguments.ContainsKey("ServerRelPath".ToLower()))
            {
                ServerRelPath = arguments["ServerRelPath".ToLower()].Trim();
            }
            if (arguments.ContainsKey("LocalFullPath".ToLower()))
            {
                LocalFullPath = arguments["LocalFullPath".ToLower()].Trim();
            }
            if (arguments.ContainsKey("ServerProcessor".ToLower()))
            {
                ServerProcessor = arguments["ServerProcessor".ToLower()].Trim();
            }
            if (arguments.ContainsKey("IsFolder".ToLower()))
            {
                IsFolder = arguments["IsFolder".ToLower()].Trim();
            }

            StringBuilder filePath = new StringBuilder();
            Boolean       result   = RemoteCall.DownloadFiles(_reqSession, IsFolder, ServerRelPath, LocalFullPath, ServerProcessor);

            //String template = RemoteCall.GetTemplate(_reqSession);

            _reqSession.Logout(false);

            if (result)//!String.IsNullOrEmpty(template))
            {
                MessageBox.Show("下载成功", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            else
            {
                MessageBox.Show("下载失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
            }
        }
Exemple #16
0
 public ProductTypeDAL(WebRequestSession session)
 {
     _reqSession = session;
 }