HttpClient выбрасывает тайм-аут, но почтальон работает как положено

Я имею дело с этой странной проблемой. Я пытаюсь сделать http сообщение на сервер через VPN. Я использую OpenVPN для подключения к нему.

Если я делаю почтовые запросы через почтальона, это работает безупречно. Если я делаю это через визуальную студию, то ничего не происходит, и потом выдается таймаут.

Я отключил Ethernet и подключил Wi-Fi, и Visual Studio начал работать некоторое время. Затем он внезапно перестал отправлять запрос. Я не могу вспомнить ничего, что я сделал, что сделал запрос прекратить работу.

Я отслеживаю все через wireshark. Появляется запрос почтальона, визуальная студия - нет.

public class CustomObject
    { 
   /* lots of properties */
    public async void MakeRequest()
        {
            try
            {
               var response = await RequesterDespacho.MakePost("CreateTicket/", this);
                switch (response.StatusCode)
                {
                    case HttpStatusCode.OK:
                        return;
                    case HttpStatusCode.Forbidden:
                        Logger.Info("[DESPACHO] Forbidden");
                        break;
                    case HttpStatusCode.BadRequest:
                        Logger.Info("[DESPACHO] Bad Request: ");
                        break;
                    case HttpStatusCode.InternalServerError:
                        Logger.Info("[DESPACHO] Error 500");
                        break;
                }
            }
            catch (Exception ex) //TaskCanceledException = timeout
            {
                Logger.Error(ex.ToString);
            }

        }
}

public static class RequesterDespacho
{
    private static readonly HttpClient client;

    static RequesterDespacho()
    {
        client = new HttpClient();
        client.BaseAddress = new Uri("http://10.2.4.29:1234");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Add("x-auth_token", "token1");
    }
    public static async Task<HttpResponseMessage> MakePost(string dir, object data)
    {
        return await client.PostAsJsonAsync(dir, data);
    }
}

0 ответов

Другие вопросы по тегам