2011-02-28 19 views
0

Я пытаюсь получить фид данных из финансов yahoo. Я делаю это с помощью следующего кода:Идентификатор пула приложений IIS

System.Net.WebRequest request = System.Net.WebRequest.Create(http://download.finance.yahoo.com/download/quotes.csv?format=sl&ext=.csv&symbols=^ftse,^ftmc,^ftas,^ftt1x,^dJA); 
request.UseDefaultCredentials = true; 

// set properties of the request 
using (System.Net.WebResponse response = request.GetResponse()) 
{ 
    using (System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream())) 
    { 
     return reader.ReadToEnd(); 
    } 
} 

Я поместил этот код в консольном приложение и, используя Console.WriteLine на выходе я получаю информацию, которую я требую. Я использовал команду «Запустить как» для ее выполнения с использованием определенной учетной записи домена.

Когда я использую этот код из-под загрузки страницы, появляется следующее сообщение об ошибке «Никакое соединение не может быть выполнено, потому что целевая машина активно отказала ему 76.13.114.90:80».

Это похоже на то, что вызов достигает yahoo (это правда?) И что чего-то не хватает.

Это предполагает наличие различий в идентификаторах вызовов между консольным приложением и пулом приложений.

Окружающая среда: Windows Server 2003, IIS 6.0, .NET 4.0

ответ

1

«Целевая машина активно отказалась» указывает, что сам TCP-соединение не преуспевает. Это может быть связано с тем, что настройки прокси-сервера при запуске под IIS не совпадают с настройками прокси, которые применяются при запуске в консоли.

Вы можете исправить это, установив WebProxy по вашему запросу, который указывает на прокси-сервер, используемый в среде.

0

Да, активный отказ признак того, что целевая машина получает запрос и информацию в заголовках либо неправильная или недостаточная для обработки запрос. Вполне возможно, что если вам нужно было запустить этот вызов, используя команду «запустить как» в консоли, для которой пользователь идентификации пула приложений не имеет соответствующего разрешения или имени пользователя. Вы можете попытаться изменить пользователя идентификации на эту конкретную учетную запись домена, чтобы убедиться, что это устраняет проблему, но вам, возможно, придется изолировать эту конкретную функцию в своем собственном пуле приложений, чтобы защитить остальную часть веб-сайта от этой спецификации.

Смежные вопросы