fix: Request send optimize

master
tongg 8 months ago
parent c81564f355
commit e5e1498e17
  1. 23
      Model/Services/SOCClientService.cs

@ -63,11 +63,15 @@ namespace SparkClient.Model.Services
/// </summary>
/// <param name="url">请求的完整URL</param>
/// <returns>HTTP响应</returns>
private async Task<HttpSendResult> SendGetRequestAsync(string url)
private async Task<HttpSendResult> SendGetRequestAsync(string url, string sendCode = "")
{
if (sendCode.IsNullOrEmpty())
{
sendCode = url.GenerateSign();
}
using (var client = new HttpClient())
{
Logger.Info($"Request sent to URL: {url}");
Logger.Info($"[SendCode={sendCode}]Request sent to URL: {url}");
client.DefaultRequestHeaders.Add("Authorization", "Basic " + _authToken);
client.Timeout = new TimeSpan(0, 0, 30);
HttpResponseMessage result = await client.GetAsync(url);
@ -76,13 +80,13 @@ namespace SparkClient.Model.Services
string responseBody = await result.Content.ReadAsStringAsync();
int statusCode = (int)result.StatusCode;
// 记录日志
Logger.Info($"Response: Status={statusCode}, Body={responseBody}");
Logger.Info($"[SendCode={sendCode}]Response: Status={statusCode}, Body={responseBody}");
var tempEntity = JsonConvert.DeserializeObject<ResponseStatus>(responseBody);
if (StatusCodes.PreviousTaskIncomplete.Equals(tempEntity.Status))
{
Logger.Info($"S009 请求重试");
await Task.Delay(500);
return await SendGetRequestAsync(url);
return await SendGetRequestAsync(url, sendCode);
}
return new HttpSendResult()
@ -94,12 +98,14 @@ namespace SparkClient.Model.Services
}
private async Task<HttpResponseMessage> SendGetRequestImageAsync(string url)
{
string sendCode = url.GenerateSign();
using (var client = new HttpClient())
{
Logger.Info($"Request Image Download URL: {url}");
Logger.Info($"[SendCode={sendCode}]Request Image Download URL: {url}");
client.DefaultRequestHeaders.Add("Authorization", "Basic " + _authToken);
return await client.GetAsync(url);
var data = await client.GetAsync(url);
Logger.Info($"[SendCode={sendCode}]Request Image Downloaded {data.StatusCode}");
return data;
}
}
@ -250,7 +256,8 @@ namespace SparkClient.Model.Services
{
var response = await SendGetRequestImageAsync(url);
int status = (int)response.StatusCode;
token.ThrowIfCancellationRequested();
if(token.IsCancellationRequested)
token.ThrowIfCancellationRequested();
switch (status)
{
case 200:

Loading…
Cancel
Save