В моем приложении ASP.NET я использую класс WebRequest и хочу использовать системный прокси по умолчанию.Вот код, который я использую.
private static bool CheckIfUriIsReachable(string uri)
{
bool reachable = true;
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "HEAD";
var proxy = WebRequest.GetSystemWebProxy();
proxy.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = proxy;
HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException)
{
reachable = false;
}
finally
{
if (response != null)
{
response.Close();
}
}
return reachable ;
}
Это прекрасно работает при запуске как часть консольного приложения - оно правильно подбирает системный прокси (я полагаю, что прокси IE для зарегистрированного пользователя на ПК), однако это делаетне работает при запуске как часть приложения ASP.NET на той же машине.Прокси не найден.
Я предполагаю, что это связано с тем, что ASP.NET работает под учетной записью пользователя, у которой нет настройки прокси-сервера IE в системном реестре.Я попытался включить следующее в файл web.config, но это не работает.
<system.net>
<defaultProxy>
<proxy usesystemdefault="true" />
</defaultProxy>
</system.net>
Мой вопрос: как настроить приложение ASP.NET 3.5 для правильного использования прокси-сервера по умолчанию, используемого IE?