Исключение, возникающее при вызове ReadAsStringAsync() с использованием HttpClient, поддерживающего прокси-сервер.C#

Место общения программистов C#
Ответить
Anonymous
 Исключение, возникающее при вызове ReadAsStringAsync() с использованием HttpClient, поддерживающего прокси-сервер.

Сообщение Anonymous »

Вот функция, используемая нашим приложением WinUI 3 для проверки подключения к Интернету.
В некоторых частях мира эта функция всегда возвращает false, нам нужно установить прокси-сервер в Windows, чтобы эта функция возвращала true. Эта функция пытается создать HttpClient с поддержкой прокси, поэтому нам не нужно перезапускать приложение после установки прокси-сервера.
Кто-нибудь знает, что вызывает исключение и как его устранить, спасибо.

Код: Выделить всё

public static async Task TestInternetConnectivity()
{
try
{
Trace.Listeners.Add(new TextWriterTraceListener("C:\\Debug.log"));

var serviceProvider = new ServiceCollection().AddHttpClient().BuildServiceProvider();
var httpClientFactory = serviceProvider.GetService();
var client = httpClientFactory.CreateClient("ProxyAwareClient");

var response = await client.GetAsync($"http://www.msftconnecttest.com/connecttest.txt");
var result = await response.Content.ReadAsStringAsync();

if (!string.Equals(result, "Microsoft Connect Test"))
{
Trace.WriteLine($"Microsoft Connect Test result: false ");
Trace.Flush();
return false;
}

Trace.WriteLine($"Microsoft Connect Test result: true ");
Trace.Flush();
return true;

}
catch (Exception ex)
{
Trace.WriteLine($"Microsoft Connect Test result: false(Exception)");
Trace.WriteLine(ex.Message);
Trace.Flush();
return false;
}
}
Bootstrapper.cs:

Код: Выделить всё

 public void ConfigureServices(ServiceCollection services)
{
//Proxy Aware HttpClient
services.AddHttpClient("ProxyAwareClient").ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler()
{
UseProxy = true,
UseDefaultCredentials = true,
Proxy = null
});

}
Debug.log на виртуальной машине Win11:

Код: Выделить всё

Microsoft Connect Test result: false(Exception)
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (15.65.196.7:8080)
Debug.log на ПК с Win11:

Код: Выделить всё

Microsoft Connect Test result: false(Exception)
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (www.msftconnecttest.com:80)
Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... httpclient
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»