예제 #1
0
        public static async void Init()
        {
            var queue = new RequestQueue();

            var google = new Uri("http://www.google.com/");
            var songkick = new Uri("http://api.songkick.com/api/3.0/events.json?location=clientip&apikey=G2KCF6q91g23Q6Zh");

            Parallel.For(1, 16, async x =>
            {
                var uri = x % 2 == 0 ?
                    google :
                    songkick;

                var request = new StringRequest
                {
                    Uri = uri,
                };
                queue.Add(request);

                try
                {
                    var result = await request.GetResultAsync();
                    Console.WriteLine("received response: {0}", result.Substring(0, 40));
                }
                catch (Exception ex)
                {
                    Console.WriteLine("handled exception: {0}", ex);
                }
            });
        }
예제 #2
0
파일: Program.cs 프로젝트: johansson/pierce
        public static void Main(string[] args)
        {
            var queue = new RequestQueue();

            var google = new Uri("http://www.google.com");
            var yahoo = new Uri("http://www.yahoo.com");
            var songkick = new Uri("http://api.songkick.com/api/3.0/events.json?location=clientip&apikey=G2KCF6q91g23Q6Zh");

            for (var x = 1; x <= 16; x++)
            {
                Thread.Sleep(200);

                var request_number = x;
                var uri = x % 2 == 0 ?
                    google :
                    songkick;

                var request = new StringRequest
                {
                    Uri = uri,
                    OnResponse = response =>
                    {
                        Console.WriteLine("received response {0}, {1}", request_number, response.Substring(0, 48));
                    },
                };

                queue.Add(request);
            };

            Console.ReadLine();
        }
예제 #3
0
        public static async void Init()
        {
            var logger = new DebugLogger();
            var queue  = new RequestQueue(
                logger,
                new Cache(),
                new Network(logger, new WebRequestClient()),
                new ResponseDelivery());

            var google   = new Uri("http://www.google.com/");
            var songkick = new Uri("http://api.songkick.com/api/3.0/events.json?location=clientip&apikey=G2KCF6q91g23Q6Zh");
            var jsontest = new Uri("http://date.jsontest.com");

            Parallel.For(0, 32, async x =>
            {
                var uri = x % 2 == 0 ?
                          google :
                          songkick;

                var request = new StringRequest
                {
                    Uri = uri,
                };
                queue.Add(request);

                try
                {
                    var result = await request.GetResponseAsync();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("handled exception: {0}", ex);
                }
            });
        }
예제 #4
0
        public static async void Init()
        {
            var queue = new RequestQueue();

            var google   = new Uri("http://www.google.com/");
            var songkick = new Uri("http://api.songkick.com/api/3.0/events.json?location=clientip&apikey=G2KCF6q91g23Q6Zh");

            Parallel.For(1, 16, async x =>
            {
                var uri = x % 2 == 0 ?
                          google :
                          songkick;

                var request = new StringRequest
                {
                    Uri = uri,
                };
                queue.Add(request);

                try
                {
                    var result = await request.GetResultAsync();
                    Console.WriteLine("received response: {0}", result.Substring(0, 40));
                }
                catch (Exception ex)
                {
                    Console.WriteLine("handled exception: {0}", ex);
                }
            });
        }
예제 #5
0
        public IActionResult GetContractInfo([FromBody] StringRequest request)
        {
            // Call blockchain to get the smart contract code
            string json = WebRequestHelper.GET("http://localhost:38220/api/SmartContracts/code?address=" + request.request);

            // Convert the JSON to a CodeResponse object
            CodeResponse response = JsonConvert.DeserializeObject <CodeResponse>(json);

            if (response == null || string.IsNullOrEmpty(response.bytecode))
            {
                return(BadRequest());
            }

            // Grab the byte code from the response object
            string contractByteString = response.bytecode;

            // Convert string to byte array
            byte[] contractByteCode = HexToByteArray(contractByteString);

            List <StratisMethodInfo> result = new List <StratisMethodInfo>();

            using (ModuleDefinition moduleDefinition = ModuleDefinition.ReadModule(new MemoryStream(contractByteCode)))
            {
                // Get the contract definition, and all methods on it
                TypeDefinition     contractType = GetContractType(moduleDefinition);
                MethodDefinition[] methods      = contractType.Methods.ToArray();


                foreach (MethodDefinition definition in methods)
                {
                    // No need to show the contracts constructor method
                    if (definition.Name != ".ctor")
                    {
                        // Build a new Method Info project
                        StratisMethodInfo newInfo = new StratisMethodInfo(definition.Name);

                        List <StratisParamterInfo> newParamters = new List <StratisParamterInfo>();

                        // Loop through all paramters and add them the list
                        for (var i = 0; i < definition.Parameters.Count; ++i)
                        {
                            newParamters.Add(
                                new StratisParamterInfo(
                                    definition.Parameters[i].ParameterType.Name,
                                    definition.Parameters[i].Name
                                    )
                                );
                        }

                        // Add the paramters list to the method info object. Then add the object to the result list.
                        newInfo.Paramters = newParamters.ToArray();
                        result.Add(newInfo);
                    }
                }
            }
            return(Ok(result.ToArray()));
        }
예제 #6
0
        /// <summary>
        /// Reads a specified number of characters asynchronous.
        /// </summary>
        /// <param name="length">The number of characters to be read (default is 1)</param>
        /// <returns>An awaitable <see cref="Task{String}"/> returning the string read</returns>
        public static async Task <string> ReadAsync(this ArduinoSession session, int length = 1)
        {
            if (length < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(length), Messages.ArgumentEx_PositiveValue);
            }

            return(await Task.Run(() => session.messageHeader.GetStringFromQueue(StringRequest.CreateReadRequest(length))));
        }
        public void searchUrl(string name)
        {
            StringRequest stringRequest = new StringRequest(Request.Method.Get, BaseURL.Search + name, this, this);

            AppController.getInstance().addToRequestQueue(stringRequest, "search");
            stringRequest.SetRetryPolicy(new DefaultRetryPolicy(1000,
                                                                DefaultRetryPolicy.DefaultMaxRetries,
                                                                DefaultRetryPolicy.DefaultBackoffMult));
            AppController.getInstance().getRequestQueue().Cache.Clear();
            AppController.getInstance().getRequestQueue().Add(stringRequest);
        }
예제 #8
0
        public void NewModelSystem()
        {
            StringRequest req = new StringRequest("Model System Name", ValidateName);

            if (req.ShowDialog() == true)
            {
                var name = req.Answer;
                var ms   = EditorController.Runtime.ModelSystemController.LoadOrCreate(name);
                ms.ModelSystemStructure.Name = req.Answer;
                EditModelSystem(EditorController.Runtime.ModelSystemController.EditModelSystem(ms));
            }
        }
예제 #9
0
        public void NewProject()
        {
            StringRequest req = new StringRequest("Project Name", ValidateName)
            {
                Owner = this
            };

            if (req.ShowDialog() == true)
            {
                var    name  = req.Answer;
                string error = null;
                var    ms    = EditorController.Runtime.ProjectController.LoadOrCreate(name, ref error);
                EditProject(EditorController.Runtime.ProjectController.EditProject(ms));
            }
        }
예제 #10
0
        public async Task <IActionResult> SendAddToContactsRequest([FromBody] StringRequest username)
        {
            var user = await userManager.GetUserAsync(HttpContext.User);

            if (user != null && !String.IsNullOrWhiteSpace(username.String))
            {
                ContactsResponse response = await contactsServices.SendAddToContactsRequest(user, username.String);

                if (response.ResponseStatus == Status.Success)
                {
                    return(Ok(response));
                }
                return(StatusCode(StatusCodes.Status400BadRequest, response));
            }
            return(StatusCode(StatusCodes.Status400BadRequest));
        }
예제 #11
0
        public async Task <IActionResult> DeleteFromContactsRequest([FromBody] StringRequest userToDelete)
        {
            var user = await userManager.GetUserAsync(HttpContext.User);

            if (user != null)
            {
                ContactsResponse response = await contactsServices.DeleteFromContactsList(user, userToDelete.String);

                if (response.ResponseStatus == Status.Success)
                {
                    return(Ok(response));
                }
                return(StatusCode(StatusCodes.Status400BadRequest, response));
            }
            return(StatusCode(StatusCodes.Status400BadRequest));
        }
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Main);

            var requestQueue = Volley.NewRequestQueue(this);

            requestQueue.Start();
            FindViewById <Button>(Resource.Id.btnString).Click += (e, s) =>
            {
                var stringRequest = new StringRequest("http://www.baidu.com", (x) =>
                {
                    Log.Debug("Test", "String Request is Finished");
                    Log.Debug("Test", x.ToString());
                },
                                                      (x) =>
                {
                    Log.Debug("tt", x.ToString());
                });
                requestQueue.Add(stringRequest);
            };

            FindViewById <Button>(Resource.Id.btnJson).Click += (sender, e) =>
            {
                //该测试需要开发人员搭建一个简单的web端
                var jsonRequest = new JsonRequest <Test, Test>("http://172.16.101.77/Volley.ashx", new Test {
                    UName = "s", UPass = "******"
                }, (x) =>
                {
                    Log.Debug("Test", x.UName);
                },
                                                               (x) =>
                {
                    Log.Debug("Test", x.ToString());
                });
                requestQueue.Add(jsonRequest);
            };
        }
        public BasicResponse <List <GetSysEmergencyLinkageListAndStatisticsResponse> > GetSysEmergencyLinkageListAndStatistics(StringRequest request)
        {
            var responseStr = HttpClientHelper.Post(Webapi + "/v1/SysEmergencyLinkage/GetSysEmergencyLinkageListAndStatistics?token=" + Token, JSONHelper.ToJSONString(request));

            return(JSONHelper.ParseJSONString <BasicResponse <List <GetSysEmergencyLinkageListAndStatisticsResponse> > >(responseStr));
        }
예제 #14
0
 public override Task <StringReply> BasicGet(StringRequest request, ServerCallContext context)
 {
     return(base.BasicGet(request, context));
 }
        public BasicResponse <List <GetSysEmergencyLinkageListAndStatisticsResponse> > GetSysEmergencyLinkageListAndStatistics(StringRequest request)
        {
            var lis = new List <GetSysEmergencyLinkageListAndStatisticsResponse>();

            var req2 = new LargeDataAnalysisConfigCacheGetAllRequest();
            var res2 = _largeDataAnalysisConfigCacheService.GetAllLargeDataAnalysisConfigCache(req2);
            var allLargeDataConfig = res2.Data;

            var req  = new EmergencyLinkageConfigCacheGetAllRequest();
            var res  = _sysEmergencyLinkageCacheService.GetAllSysEmergencyLinkageCache(req);
            var name = request.Str;

            List <SysEmergencyLinkageInfo> queryData;

            if (string.IsNullOrEmpty(name))
            {
                queryData = res.Data.OrderByDescending(a => a.EditTime).ToList();
            }
            else
            {
                queryData = res.Data.Where(a => a.Name == request.Str).OrderByDescending(a => a.EditTime).ToList();
            }
            foreach (var item in queryData)
            {
                var largeDataConfig     = allLargeDataConfig.FirstOrDefault(a => a.Id == item.MasterModelId);
                var largeDataConfigName = largeDataConfig == null ? "" : largeDataConfig.Name;

                var newItem = new GetSysEmergencyLinkageListAndStatisticsResponse()
                {
                    DeletePerson            = item.DeletePerson,
                    DeleteTime              = item.DeleteTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    EditPerson              = item.EditPerson,
                    EditTime                = item.EditTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    Id                      = item.Id,
                    MasterAreaAssId         = item.MasterAreaAssId,
                    MasterAreaNum           = item.MasterAreas.Count.ToString(),
                    MasterDevTypeAssId      = item.MasterDevTypeAssId,
                    MasterDevTypeNum        = item.MasterDevTypes.Count.ToString(),
                    MasterModelName         = largeDataConfigName,
                    MasterPointAssId        = item.MasterPointAssId,
                    MasterPointNum          = item.MasterPoint.Count.ToString(),
                    MasterTriDataStateAssId = item.MasterTriDataStateAssId,
                    MasterTriDataStateNum   = item.MasterTriDataStates.Count.ToString(),
                    PassiveAreaAssId        = item.PassiveAreaAssId,
                    PassiveAreaNum          = item.PassiveAreas.Count.ToString(),
                    PassivePersonAssId      = item.PassivePersonAssId,
                    PassivePersonNum        = item.PassivePersons.Count.ToString(),
                    PassivePointAssId       = item.PassivePointAssId,
                    PassivePointNum         = item.PassivePoints.Count.ToString(),
                    Name                    = item.Name,
                    Type                    = item.Type,
                    TypeName                = item.Type == 1 ? "普通联动" : "大数据分析联动",
                    Duration                = item.Duration
                };
                lis.Add(newItem);
            }

            //var name = request.Str;
            //var dt = _Repository.QueryTable(
            //    "global_SysEmergencyLinkageService_GetSysEmergencyLinkageListAndStatistics", name);

            //foreach (DataRow item in dt.Rows)
            //{
            //    var newItem = new GetSysEmergencyLinkageListAndStatisticsResponse()
            //    {
            //        DeletePerson = item["DeletePerson"].ToString(),
            //        DeleteTime = item["DeleteTimeConvert"].ToString(),
            //        EditPerson = item["EditPerson"].ToString(),
            //        EditTime = item["EditTime"].ToString(),
            //        Id = item["Id"].ToString(),
            //        MasterAreaAssId = item["MasterAreaAssId"].ToString(),
            //        MasterAreaNum = item["MasterAreaNum"].ToString(),
            //        MasterDevTypeAssId = item["MasterDevTypeAssId"].ToString(),
            //        MasterDevTypeNum = item["MasterDevTypeNum"].ToString(),
            //        MasterModelName = item["MasterModelName"] == null ? "" : item["MasterModelName"].ToString(),
            //        MasterPointAssId = item["MasterPointAssId"].ToString(),
            //        MasterPointNum = item["MasterPointNum"].ToString(),
            //        MasterTriDataStateAssId = item["MasterTriDataStateAssId"].ToString(),
            //        MasterTriDataStateNum = item["MasterTriDataStateNum"].ToString(),
            //        PassiveAreaAssId = item["PassiveAreaAssId"].ToString(),
            //        PassiveAreaNum = item["PassiveAreaNum"].ToString(),
            //        PassivePersonAssId = item["PassivePersonAssId"].ToString(),
            //        PassivePersonNum = item["PassivePersonNum"].ToString(),
            //        PassivePointAssId = item["PassivePointAssId"].ToString(),
            //        PassivePointNum = item["PassivePointNum"].ToString(),
            //        Name = item["Name"].ToString(),
            //        Type = (int)item["Type"],
            //        TypeName = (int)item["Type"] == 1 ? "普通联动" : "大数据分析联动",
            //        Duration = Convert.ToInt32(item["Duration"])
            //    };
            //    lis.Add(newItem);
            //}

            var ret = new BasicResponse <List <GetSysEmergencyLinkageListAndStatisticsResponse> >()
            {
                Data = lis
            };

            return(ret);
        }
예제 #16
0
 /// <summary>
 /// Reads a string up to the first terminating character.
 /// </summary>
 /// <param name="terminator">The character identifying the end of the string</param>
 /// <returns>The string read</returns>
 public static string ReadTo(this ArduinoSession session, char terminator)
 {
     return(session.messageHeader.GetStringFromQueue(StringRequest.CreateReadRequest(terminator)));
 }
        private void topSellingUrl()
        {
            StringRequest stringRequest = new StringRequest(Request.Method.Get, BaseURL.HomeTopSelling, this, this);

            AppController.getInstance().addToRequestQueue(stringRequest, "test");
        }
예제 #18
0
        private void EnqueueReceivedString(string value)
        {
            bool lockTaken = false;

            try
            {
                Monitor.TryEnter(_receivedStringQueue, _messageTimeout, ref lockTaken);

                if (!lockTaken)
                    throw new TimeoutException();

                if (_receivedStringQueue.Count >= MaxQueuelength)
                    throw new OverflowException(Messages.OverflowEx_StringBufferFull);

                _receivedStringQueue.Enqueue(value);
                Monitor.PulseAll(_receivedStringQueue);
                _currentStringRequest = null;
                _stringBufferIndex = 0;
            }
            finally
            {
                if (lockTaken)
                    Monitor.Exit(_receivedStringQueue);
            }
        }
예제 #19
0
 public override Task <StringReplay> StringTest(StringRequest request, ServerCallContext context)
 {
     return(Task.FromResult(new StringReplay {
         Value = request.Value.ToUpper()
     }));
 }
        public BasicResponse <Jc_DefInfo> GetNotMonitoringPointDefineCacheByPoint(StringRequest request)
        {
            var responseStr = HttpClientHelper.Post(Webapi + "/v1/AllSystemPointDefine/GetNotMonitoringPointDefineCacheByPoint?token=" + Token, JSONHelper.ToJSONString(request));

            return(JSONHelper.ParseJSONString <BasicResponse <Jc_DefInfo> >(responseStr));
        }
예제 #21
0
 /// <summary>
 /// Reads a string asynchronous up to the next <see cref="NewLine"/> character.
 /// </summary>
 /// <returns>An awaitable <see cref="Task{String}"/> returning the string read</returns>
 public static async Task <string> ReadLineAsync(this ArduinoSession session)
 {
     return(await Task.Run(() => session.messageHeader.GetStringFromQueue(StringRequest.CreateReadLineRequest())));
 }
예제 #22
0
 /// <summary>
 /// Reads a string up to the next <see cref="NewLine"/> character.
 /// </summary>
 /// <returns>The string read</returns>
 public static string ReadLine(this ArduinoSession session)
 {
     return(session.messageHeader.GetStringFromQueue(StringRequest.CreateReadLineRequest()));
 }
예제 #23
0
 /// <summary>
 /// Reads a string asynchronous up to the first terminating character.
 /// </summary>
 /// <param name="terminator">The character identifying the end of the string</param>
 /// <returns>An awaitable <see cref="Task{String}"/> returning the string read</returns>
 public static async Task <string> ReadToAsync(this ArduinoSession session, char terminator)
 {
     return(await Task.Run(() => session.messageHeader.GetStringFromQueue(StringRequest.CreateReadRequest(terminator))));
 }
예제 #24
0
 public IActionResult PostConsole([FromBody] StringRequest s)
 {
     _logger.LogInformation(s.S);
     return(Ok());
 }
예제 #25
0
        private string GetStringFromQueue(StringRequest request)
        {
            _awaitedStringsQueue.Enqueue(request);
            bool lockTaken = false;

            try
            {
                Monitor.TryEnter(_receivedStringQueue, _messageTimeout, ref lockTaken);

                while (lockTaken)
                {
                    if (_receivedStringQueue.Count > 0)
                    {
                        string message = _receivedStringQueue.Dequeue();
                        Monitor.PulseAll(_receivedStringQueue);
                        return message;
                    }

                    lockTaken = Monitor.Wait(_receivedStringQueue, _messageTimeout);
                }

                throw new TimeoutException(string.Format(Messages.TimeoutEx_WaitStringRequest, request.Mode));
            }
            finally
            {
                if (lockTaken)
                {
                    Monitor.Exit(_receivedStringQueue);
                }
            }
        }
예제 #26
0
        private void SetupRunButton(LayoutDocument document)
        {
            var modelSystem = document.Content as ModelSystemDisplay;

            RunMenu.IsEnabled  = false;
            RunLabel.IsEnabled = false;
            if (modelSystem != null)
            {
                var session = modelSystem.Session;
                if (session.CanRun)
                {
                    RunMenu.IsEnabled  = true;
                    RunLabel.IsEnabled = true;
                    _CurrentRun        = () =>
                    {
                        var           runName    = "Run Name";
                        StringRequest req        = new StringRequest("Run Name", ValidateName);
                        var           trueWindow = Window.GetWindow(document.Content as DependencyObject);
                        var           testWindow = GetWindow(document.Content as DependencyObject);
                        var           vis        = document.Content as UserControl;
                        if (vis != null && testWindow != trueWindow)
                        {
                            var topLeft = vis.PointToScreen(new Point());
                            // Since the string request dialog isn't shown yet we need to use some defaults as width and height are not available.
                            req.Left = topLeft.X + ((vis.ActualWidth - StringRequest.DefaultWidth) / 2);
                            req.Top  = topLeft.Y + ((vis.ActualHeight - StringRequest.DefaultHeight) / 2);
                        }
                        else
                        {
                            req.Owner = trueWindow;
                        }
                        if (req.ShowDialog() == true)
                        {
                            runName = req.Answer;
                            string error = null;
                            var    run   = session.Run(runName, ref error);
                            if (run != null)
                            {
                                RunWindow window = new RunWindow(session, run, runName);
                                var       doc    = AddNewWindow("New Run", window);
                                doc.Closing += (o, e) =>
                                {
                                    if (!window.CloseRequested())
                                    {
                                        e.Cancel = true;
                                        return;
                                    }
                                };
                                doc.CanClose   = true;
                                doc.IsSelected = true;
                                Keyboard.Focus(window);
                                window.Focus();
                            }
                            else
                            {
                                MessageBox.Show(this, error, "Unable to run", MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }
                    };
                }
            }
        }
예제 #27
0
 public async Task GetResultAsync_NotAddedToQueue_ThrowsException()
 {
     var request = new StringRequest();
     await Pierce.Test.Assert.ThrowsAsync <InvalidOperationException>(async() =>
                                                                      await request.GetResultAsync());
 }
        // Return a list of projections by player last name
        public List <Projection> Get(StringRequest request)
        {
            ProjectionDataWorker pdw = new ProjectionDataWorker(Db);

            return(pdw.GetProjectionListByLastName(request.Parameter));
        }
예제 #29
0
 public async Task GetResultAsync_NotAddedToQueue_ThrowsException()
 {
     var request = new StringRequest();
     await Pierce.Test.Assert.ThrowsAsync<InvalidOperationException>(async () =>
         await request.GetResultAsync());
 }