У меня есть служба Windows, работающая в качестве локальной системы по умолчанию (в Windows Server 2008 R2), которая пытается извлечь PDF-файл из предоставленного пользователем URL-адреса. Если этот URL находится в локальной интрасети, это счастливый конец. Если URL указывает на более удаленный URL (скажем, от irs.gov), я получаю исключение:
System.Net.WebException: невозможно подключиться к удаленному серверу ---> System.Net.Sockets.SocketException: попытка подключения не удалась, поскольку подключенная сторона не ответила должным образом через определенный период времени или не удалось установить соединение потому что подключенный хост не смог ответить ...
Если я изменю учетную запись «Вход в систему» с локальной системы на мою учетную запись (например), запрос будет выполнен. Но я не хочу запускать службу Windows как реальный пользователь (я слишком консервативен?).
Код, который я использую, кажется довольно простым:
string destinationFileName = ...;
Uri uri = ...;
using (var wc = new WebClient()) {
wc.DownloadFile(uri.AbsoluteUri, destinationFileName );
}
Нужно ли мне получить какие-то настройки IE и добавить их в экземпляр WebClient? Если так, то что?
Спасибо за любые подсказки или указатели!