예제 #1
0
        /// <summary>
        /// Request with url and data
        /// </summary>
        /// <param name="url">Target url</param>
        /// <param name="data">Request data</param>
        /// <param name="isGet">If use httpGet method</param>
        private void requestWith(string url, string data = "")
        {
            if (string.IsNullOrEmpty(data))
            {
                delegateHttpRequest = netRequestProvider.HttpGet;
            }
            else
            {
                delegateHttpRequest = netRequestProvider.HttpPost;
            }

            Action <RunHttpRequest, string, string> action = null;

            action = new Action <RunHttpRequest, string, string>(ctlHttpRequest);

            object[] _params = new object[] { delegateHttpRequest, url, data };
            System.Windows.Application.Current.Dispatcher.BeginInvoke(action, _params);
        }
예제 #2
0
        private async Task <string> basicHttpRuquest(RunHttpRequest runHttpRequest, string url, string data)
        {
            IsRequestRunning = true;
            string result = string.Empty;

            //Await run
            result = await runHttpRequest(url, data);

            developerMessage("Task Run : " + runHttpRequest.Method.Name);

            //Result handle and check
            if (string.IsNullOrEmpty(result))
            {
                sendToConsole(netRequestProvider.errorMessages);
            }

            IsRequestRunning = false;
            return(result);
        }
예제 #3
0
        private async void ctlHttpRequest(RunHttpRequest runHttpRequest, string url, string data)
        {
            do
            {
                RequestResult = await basicHttpRuquest(runHttpRequest, url, data);

                if (!string.IsNullOrEmpty(RequestResult))
                {
                    handRequestResult();
                }
                if (IsAutoRepeat)
                {
                    await Task.Delay(DelayTime);
                }
                else
                {
                    break;
                }
            } while (IsAutoRepeat);
        }
예제 #4
0
        /// <summary>
        /// Async run http request method
        /// </summary>
        /// <param name="getresult"></param>
        /// <param name="Url"></param>
        /// <param name="rule"></param>
        private async void asyncHttpRequest(RunHttpRequest runHttpRequest, string url, string data, bool defaultHand)
        {
            IsRequestRunning = true;

            do
            {
                //Await run
                RequestResult = await runHttpRequest(url, data);

                developerMessage("Task Run : " + runHttpRequest.Method.Name);

                //Result handle and check
                if (string.IsNullOrEmpty(RequestResult))
                {
                    sendToConsole(netRequestProvider.errorMessages);
                }
                else if (defaultHand)
                {
                    handRequestResult();
                }
                else
                {
                    IsRequestRunning = false;
                }

                if (!IsRequestRunning)
                {
                    break;
                }

                //Delay for repeat
                if (IsAutoRepeat)
                {
                    await Task.Delay(DelayTime);
                }
            } while (IsRequestRunning && IsAutoRepeat);

            IsRequestRunning = false;
        }