如何连续调用Web API服务

时间:2019-06-12 03:29:15

标签: c# asp.net-mvc asp.net-web-api asp.net-web-api2

我有一个Web API服务。当我尝试致电该服务时,响应时间会花费很多时间,例如超过4分钟。

我检查了JSON数据,因为其数量庞大,可能需要很长时间才能响应。我正在考虑拆分数据并循环运行。

问题:  1.当我尝试循环运行时,它不会执行已处理的数据。  2.我有一个ArrayList,我需要进行分割

问题:如何连续调用该服务?

代码:

            var objGetData = objDAL.getArrayListData(id);               
            var jsonToSend = JsonConvert.SerializeObject(objGetData, Formatting.Indented, new JsonSerializerSettings{
                NullValueHandling = NullValueHandling.Ignore,
                MissingMemberHandling = MissingMemberHandling.Ignore                   
            });

            var client = new RestClient("http://...../....");
            client.Authenticator = new HttpBasicAuthenticator(_baseUserName, _basePassword);
            var request = new RestRequest(Method.POST);
            request.Parameters.Clear();
            request.AddHeader("Accept", "application/json");
            request.AddParameter("application/json; charset=utf-8", jsonToSend, "application/json", ParameterType.RequestBody);
            request.RequestFormat = DataFormat.Json;

            client.ExecuteAsync(request, response =>
            {
                if (response.StatusCode == HttpStatusCode.OK)
                {    
                    objDAL.UpdateResponseDetails(response.Content);

                }
                else
                {
                    LogError("........")
                }
            });

        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }

0 个答案:

没有答案